HashMap<Integer, String> map = new HashMap<>();
map.put(1, "我最菜无疑了1");
map.put(2, "我最菜无疑了2");
map.put(3, "我最菜无疑了3");
map.put(4, "我最菜无疑了4");
map.put(5, "我最菜无疑了5");
map.put(6, "我最菜无疑了6");
第一种:迭代器的entrySet
// 迭代器的entrySet
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> next = iterator.next();
System.out.println(next.getKey());
System.out.println(next.getValue());
}
第二种:迭代器的keySet
// 迭代器的keySet
Iterator<Integer> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Integer key = iterator.next();
System.out.println(key);
System.out.println(map.get(key));
}
第三种:for each entrySet
// for each EntrySet
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("entry = " + entry.getKey());
System.out.println("entry = " + entry.getValue());
}
第四种:for each keySet
for (Integer mapKey : map.keySet()) {
System.out.println("integer = " + mapKey);
System.out.println("map.get(mapKey) = " + map.get(mapKey));
}
第五种:lambda表达式
// 使用lambda表达式
map.forEach((key,value) ->{
System.out.println("key = " + key);
System.out.println("value = " + value);
});
第六种:
// 使用stream流
map.entrySet().stream().forEach(integerStringEntry -> {
System.out.println("integerStringEntry = " + integerStringEntry.getKey());
System.out.println("integerStringEntry.getValue() = " + integerStringEntry.getValue());
});
第七种:Stream的多线程方式
// 使用stream流的多线程的方式
map.entrySet().parallelStream().forEach(entry ->{
System.out.println("entry.getKey() = " + entry.getKey());
System.out.println("entry.getValue() = " + entry.getValue());
} );