HashMap的遍历
Iterator
线程安全,使用Iterator遍历时可以一边遍历一边删除。
Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "a");
map.put(3, "a");
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer, String> entry = iterator.next();
int key = iterator.getKey();
String value = iterator.getValue();
it.remove();
}
for-each
线程不安全。
Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "a");
map.put(3, "a");
for(int key : map.keySet()){
value = map.get(key);
}
Map<Integer, String> map = new HashMap<>();
map.put(1, "a");
map.put(2, "a");
map.put(3, "a");
for(Map.Entry<Integer, String> entry : map.entrySet()){
int key = entry.getKey();
int value = entry.getValue();
}