对于Map集合的元素,由于集合是无序的,直接遍历删除会出现问题,怎么办呢?直接上实例代码
public static void testMapDelete(){
Map<String,String > map = new HashMap<String, String>();
map.put("1", "v1");
map.put("2", "v2");
map.put("3", "v3");
map.put("4", "v4");
map.put("5", "v5");
map.put("6", "v6");
map.put("7", "v7");
Iterator<Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key = " + key + "; value = " + value);
if(value.equalsIgnoreCase("v3")){
it.remove();
}
}
Iterator<Entry<String, String>> its = map.entrySet().iterator();
while (its.hasNext()) {
Map.Entry<String, String> entry = its.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println("key1 = " + key + "; value1 = " + value);
}
}
Iterator<String> sListIterator = list.iterator();
while(sListIterator.hasNext()){
String e = sListIterator.next();
if(e.equals("3")){
sListIterator.remove();
}
}