1.通过先获取key值,然后再得到value
Map<Integer,String> map = new HashMap<>();
map.put(11,"zhangsan");
map.put(22,"wangwer");
map.put(33,"sunsan");
Set<Integer> keys = map.keySet();
此时可以使用迭代器的方法,也可以使用foreach
先使用迭代器的方法:
Iterator<Integer> it = keys.iterator();
while(it.hasNext()){
Integer key = it.next();
String value = map.get(key);
System.out.println(value);
}
foreach的方法:
for (Integer key:keys
) {
System.out.println(key +"->"+ map.get(key));
}
2.将要遍历的Map集合先转化成为Set集合,再遍历
Map<Integer,String> map = new HashMap<>();
map.put(11,"zhangsan");
map.put(22,"lisi");
map.put(33,"wangwu");
Set<Map.Entry<Integer,String>> sets = map.entrySet();
此时可以使用迭代器的方法,也可以使用foreach
先使用迭代器的方法:
Iterator<Map.Entry<Integer,String>> it = sets.iterator();
while(it.hasNext()){
Map.Entry<Integer,String> node = it.next();
Integer key = node.getKey();
String value = node.getValue();
System.out.println("key= "+key+" String="+value);
}
foreach的方法:
for (Map.Entry<Integer,String> set:sets
) {
System.out.println(set.getKey()+set.getValue());
}