必须要使用Iterator遍历Entry,才可以删除其中元素,如果直接使用Entry,则不可以删除其中元素。
这是两个Map集合,用来比较大小,小于就删除来试验是否删除了其中元素。具体代码如下:
Iterator<Map.Entry<String, String>> sourceit = sourcelist.iterator(); Iterator<Map.Entry<String, String>> destit = destlist.iterator(); while (sourceit.hasNext()) { Map.Entry<String, String> entry = sourceit.next(); while (destit.hasNext()) { Map.Entry<String, String> mapping = destit.next(); if (Long.parseLong(entry.getValue()) < Long.parseLong(mapping.getValue())) { matchDiskmaps.put(entry.getKey(), mapping.getKey()); TestDisk.getInstance().setMatchDiskmaps(matchDiskmaps); destit.remove(); break; } } }