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 @   家兴Java  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示