zoukankan      html  css  js  c++  java
  • 遍历map和删除map中的一个entry

    一.最常见的,需要key和value都需要时

    public static void main(String[] args) {
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
             map.put(33, 333);
             map.put(22, 222);
             map.put(11, 111);
            for(Map.Entry<Integer, Integer> entry:map.entrySet()){
                System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
                
            }
            
            
        }

    当map为空时,就会报空指针,所以在map!=null的条件下遍历

    二.只需要map中的所有key或者只要map中的所有value

    public static void main(String[] args) {
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
             map.put(33, 333);
             map.put(22, 222);
             map.put(11, 111);
             List<Integer> list = new ArrayList<>();
            for(Integer key : map.keySet()){
                System.out.println("key:"+ key);
                list.add(key);
            }
            System.out.println(list);
            
            
        }

    public static void main(String[] args) {
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
             map.put(33, 333);
             map.put(22, 222);
             map.put(11, 111);
             
             List<Integer> list = new ArrayList<>();
             for(Integer value : map.values()){
                 System.out.println("value:"+value);
                 list.add(value);
             }
            System.out.println(list);
            
        }

    三.使用Iterator遍历,加强功能:在遍历过程中删除个别entry

    public static void main(String[] args) {
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
             map.put(33, 333);
             map.put(22, 222);
             map.put(11, 111);
             Iterator<Map.Entry<Integer,Integer>> entries = map.entrySet().iterator();
            while(entries.hasNext()){
                Map.Entry<Integer, Integer> entry = entries.next();
                System.out.println("key:"+ entry.getKey()+" value:"+entry.getValue());
            }
        }

    删除个别entry

    public static void main(String[] args) {
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
             map.put(33, 333);
             map.put(22, 222);
             map.put(11, 111);
             Iterator<Map.Entry<Integer,Integer>> entries = map.entrySet().iterator();
            while(entries.hasNext()){
                Map.Entry<Integer, Integer> entry = entries.next();
                if(entry.getKey().equals(22)){
                    entries.remove();
                }
                //在entries的remove之前entries.next()已经把下一个给了entry
                //就是删除22前,已经把22给了entry
                //再打印entry时,22已经在entry了
                //但是现在entries里已经没有22了
                System.out.println("key:"+ entry.getKey()+" value:"+entry.getValue());
            }
            System.out.println("这时打印***********");
            //再打印entries,就已经没有22了
            Iterator<Map.Entry<Integer,Integer>> entries2 = map.entrySet().iterator();
            while(entries2.hasNext()){
                Map.Entry<Integer, Integer> entry = entries2.next();
                System.out.println("key:"+ entry.getKey()+" value:"+entry.getValue());
            }
            
        }

    在用Iterator.remove()方法时,要在循环之外再打印map

  • 相关阅读:
    获得音视频信息
    stf-多设备管理平台搭建
    接口用例设计
    阿里云Ubuntu服务器搭建SVN
    Jenkins首次启动卡在加载页面
    初使Jenkins构建Python项目
    MongoDB使用python脚本写入数据
    python re操作
    使用Python脚本写入MongoDB数据
    chromedriver与chrome版本对应表及下载地址
  • 原文地址:https://www.cnblogs.com/lonely-buffoon/p/5575420.html
Copyright © 2011-2022 走看看