map在遍历数据的过程中删除数据不出错

时间:2021-11-28 00:53:59

//

Iterator<Map.Entry<String,Long>> entries = Map.entrySet().iterator();
                      while(entries.hasNext()){
                          Map.Entry<String,Long> entry = entries.next();
                          System.out.println("遍历的结果"+entry.getKey()+":"+entry.getValue());
                        
                            if (entry.getKey() != null) {
                              
                                entries.remove();
                            }

//打印删除后的map里面的值

for(Map.Entry<Integer, String> entry:Map.entrySet()){
        System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
        
    }

/*// 1、获得Map对象的健,用Map对象的方法keySet(),得到Set对象类型的健
            Set<String> set = map.keySet();
            // 2、获得Set对象的迭代器,用Set对象的iterator()方法,得到Iterator对象的值
            Iterator<String> iterator = set.iterator();
            // 3、通过while循环控制语句遍历Itorator对象的迭代器,iterator.hasNext()为判断条件
            int count = 0;
            while (iterator.hasNext()) {
                // 4、在迭代器iterator中获得Map对象健的值
                String key = iterator.next();
                String value = (String) map.get(key);
                wl += value;
                count++;

if (count == 2) {// 只保留前四个数
                    break;
                }

}
             if(wl!=null&&wl.length()!=0){
                    wl = wl.substring(0, wl.length() - 1);
        }*/