Map接口的常用方法及小练习(可直接复制到编译器)

Map接口的常用方法及小练习

import org.junit.Test;
​
import java.io.File;
import java.io.IOException;
import java.util.*;
​
public class exer {
   @Test
   public void test1(){
       Map<String,Integer> map = new HashMap<>();
       map.put("AA",23);
       map.put("BB",24);
       map.put("CC",25);
       map.put("DD",26);
​
       // 遍历key值
       Set<String> key = map.keySet();
       for (String s : key){
           System.out.println(s);
      }
​
       // 遍历value值
       Collection<Integer> value = map.values();
       Iterator<Integer> iterator = value.iterator();
       while (iterator.hasNext()){
           System.out.println(iterator.next());
      }
​
       // 遍历key-value值
       Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
       Iterator<Map.Entry<String,Integer>> iterator1 = entrySet.iterator();
       while (iterator1.hasNext()){
           Map.Entry<String,Integer> entry = iterator1.next();
           String keys = entry.getKey();
           Integer values = entry.getValue();
           System.out.println(keys + "--->" + values);
      }
  }
​
   @Test
   public void test2(){
       List<String> list = new ArrayList<>();
       list.add("AA");
       list.add("BB");
       list.add("CC");
       list.add("DD");
​
       // iterator遍历
       Iterator<String> iterator = list.iterator();
       while (iterator.hasNext()){
           System.out.println(iterator.next());
      }
​
       // foreach遍历
       for (String s : list){
           System.out.println(s);
      }
  }
​
   // 提供一个方法,用于遍历获取HashMap<String,String>中的所有value,并存放在List中返回。用泛型
   @Test
   public void test3(){
       Map<String,String> map = new HashMap<>();
       map.put("AA","11");
       map.put("BB","22");
       map.put("CC","33");
       map.put("DD","44");
​
       List<String> values = getValues(map);
       System.out.println(values);
​
  }
​
   // 获取value值方法
   public static List<String> getValues(Map<String,String> map){
       List<String> list = new ArrayList<>();
       Collection<String> coll = map.values();
       for (String s : coll){
           list.add(s);
      }
       return list;
  }
​
   // 创建一个与a.txt文件同目录下的另外一个文件b.txt
   @Test
   public void test4() throws IOException {
       File file1 = new File("E:\\io\\io1\\io4\\a.txt");
       System.out.println(file1.getParent());
       File file2 = new File(file1.getParent(),"b.txt");
       boolean newFile = file2.createNewFile();
       if (newFile){
           System.out.println("创建成功");
      }
  }
​
   // Map接口中的常用方法有哪些
   @Test
   public void test5(){
       Map<String,Integer> map = new HashMap<>();
       // 增
       map.put("小明",1001);
       map.put("小红",1002);
       map.put("小刚",1003);
       map.put("小白",1004);
​
       Map<String, Integer> all = getAll(map);
       System.out.println(all);
​
       // 删
       map.remove("小白");
       System.out.println(getAll(map));
​
       // 改
       map.put("小红",1004);
       System.out.println(getAll(map));
​
       // 查
       Integer in = map.get("小明");
       System.out.println(in);
​
       // 长度
       int size = map.size();
       System.out.println("长度是:" + size);
​
       // 遍历:见开始及以下方法
  }
​
   // 查询Map中所有key-value值的方法
   public static Map<String,Integer> getAll(Map<String,Integer> map){
       Map<String,Integer> map1 = new HashMap<>();
       Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
       Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator();
       while (iterator.hasNext()){
           Map.Entry<String, Integer> entry = iterator.next();
           map1.put(entry.getKey(), entry.getValue());
      }
       return map1;
  }
}
posted @ 2022-12-20 06:18  家兴Java  阅读(145)  评论(0)    收藏  举报