1. 单独遍历keys、values:
Map<Character, Integer> map = new HashMap<>();
//遍历keys
Set<Character> set = map.keySet();
for(Character key : set) {
System.out.println(key);
}
set.forEach((Character key)->{
System.out.println(key);
});
//2.遍历values
Collection<Integer> values = map.values();
for (Integer value : values) {
System.out.println(value);
}
collec.forEach((Integer value)->{
System.out.println(value);
});
2.使用Map的内部接口Entry同时遍历key、value:
Map<String, Integer> map = new HashMap<>();
//使用Entry接口遍历
Set<Entry<String, Integer>> set = map.entrySet();
set.forEach((Entry<String, Integer> en)->{
System.out.println(en.getKey()+" "+en.getValue());
});
for (Entry<String, Integer> en : set) {
System.out.println(en.getKey()+" "+en.getValue());
}
3.使用迭代器:
使用Java的迭代器iterator可以使得对容器的遍历操作完全与其底层相隔离,可以到达极好的解耦效果。
Map<String, Integer> map = new HashMap<>();
//使用迭代器遍历
//适合于类似边删除边添加这样的操作
Iterator<Entry<String, Integer>> it = map.entrySet().iterator();
while(it.hasNext()) {
Entry<String, Integer> en = it.next();
System.out.println(en.getKey()+" "+en.getValue());
}