HashMap的七種循環(huán)遍歷方法
public class mapDemo {
public static void main(String[] args) {
// 創(chuàng)建并賦值HashMap
Map<Integer, String> map = new HashMap<>();
map.put(1, "Java");
map.put(2, "C語(yǔ)言");
map.put(3, "php");
// 遍歷map
// 第一種方法 迭代器EntrySet
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Integer, String> next = iterator.next();
System.out.print(next.getKey());
System.out.print(next.getValue());
}
System.out.println("---------------");
// 第二種方法 迭代器 keySet
Iterator<Integer> iterator1 = map.keySet().iterator();
while (iterator1.hasNext()){
Integer next = iterator1.next();
System.out.print(next);
System.out.print(map.get(next));
}
System.out.println("---------------");
// 第三種 forEach EntrySet
for (Map.Entry<Integer, String> next: map.entrySet()) {
System.out.print(next.getKey());
System.out.print(next.getValue());
}
System.out.println("---------------");
// 第四種 forEach Keyset
for(Integer key : map.keySet()){
System.out.print(key);
System.out.print(map.get(key));
}
System.out.println("---------------");
// 第五種 lambda
map.forEach((key, value) ->{
System.out.print(key);
System.out.print(value);
});
System.out.println("---------------");
// 第六種 Streams Api 單線程
map.entrySet().stream().forEach((entry) ->{
System.out.print(entry.getKey());
System.out.print(entry.getValue());
});
System.out.println("---------------");
// 第七種 Streams API 多線程
map.entrySet().parallelStream().forEach((entry) ->{
System.out.print(entry.getKey());
System.out.print(entry.getValue());
});
System.out.println("---------------");
}
}
運(yùn)行結(jié)果: