import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Andy");
map.put(2, "John");
map.put(3, "Alax");
for (Iterator<Map.Entry<Integer, String>> it=map.entrySet().iterator(); it.hasNext();) {
Map.Entry<Integer, String> en = it.next();
System.out.println("key: " + en.getKey() + ", value: " + en.getValue());
if (en.getValue().equals("Andy")) {
// it.remove(); // FIXME 取消这一行的注释问题就可以解决 (1)
map.remove(en.getKey()); (2)
}
}
}
}
注释掉(1)后(2)就显得冗余了,去掉(2)最好,不去掉也没有关系。