文章目录
神中神之Set操作
Drip
2024-08-01 10:22
累计阅读27
评论0

前言

首先插入几个值方便操作

 Map<Integer,String> map=new HashMap<>();
        map.put(1,"A");
        map.put(2,"B");
        map.put(3,"C");
//        System.out.println(map); ->{1=A, 2=B, 3=C}调用tostring
//        想得到具体实参要用以下操作

Key遍历

key遍历顾名思义就是查找map中key的值

  1. ForEach遍历 要知道Map是不继承Collection的,严格意义来说他只是一个映射不能算作一个集合,所以无法用Foreach方法,但是为了方便Map内部的Foreach方法是应用了entrySet的(我们稍后再讲),而entrySet方法返回的是一个Set集合,所以能遍历

    总的来说,可以直接使用Foreach方法,但底层不是Map在用,而是Set在用 不多说直接上代码

​
//        1.(Foreach遍历方法查找key和value)
         map.forEach((key,value)-> System.out.println(key));
         map.forEach((key,value)-> System.out.println(key+"->"+value));
  1. 增强for循环遍历(只读,不能进行remove等操作)

//        1.KeySet遍历(增强for循环遍历)
//
        Set<Integer> set = map.keySet();
        for(int key:set){
            System.out.println(key);
        }//增强for循环迭代

Value遍历

//        2.values
      for(String value:map.values()){
          System.out.println(value);
      }
​

entrySet遍历 (最常用)

这里map.entrySet()返回的是Set集合,但是集合内部类型是Map.Entry接口的实现方法,对于每一个遍历的对象都是Entry类型的,而该对象有getKey方法和getvalue方法,极大便利了获取 map值操作

  for(Map.Entry<Integer,String> entry: map.entrySet()){
                System.out.println(entry.getKey()+"->"+entry.getValue());
        }//同样只读

迭代 即可查找又可修改(神中神)

        Iterator<Map.Entry<Integer, String>> iterator=map.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry<Integer,String> entry=iterator.next();
            System.out.println(entry.getKey()+"->"+entry.getValue());
            iterator.remove();
        }

评论
Drip的小破站
Copyright © 2024 Drip All Rights Reserved.
Powered by Halo Themed by Shine
GitHub
哔哩哔哩
Gmail