• 欢迎光临~

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

开发技术 开发技术 2022-12-20 次浏览

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;
  }
}
程序员灯塔
转载请注明原文链接:Map接口的常用方法及小练习(可直接复制到编译器)
喜欢 (0)