HashMap的遍历大同小异,这里简单总结了以下5种遍历方式:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
* User: Jiang
* Time: 2023/6/26 026 9:45
* File: map01
* Description: hashmap遍历
*/
public class Map01 {
public static void main(String[] args) {
// 创建HashMap
Map<String, String> map = new HashMap<>();
map.put("1", "苹果");
map.put("2", "香蕉");
map.put("3", "葡萄");
map.put("4", "西瓜");
// 遍历方式1:foreach + entrySet entrySet把map转为set形式,内部以键值对的形式存储,每个entry对应一个键值对,可以看作是对键值对类型的遍历
for (Map.Entry<String, String> entry :
map.entrySet()) {
System.out.println(entry.getKey() + "-----" + entry.getValue());
}
// 遍历方式2:iterator + entrySet
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + "-----" + value);
}
// 遍历方式3:foreach + keySet keySet是键的集合
for (String key :
map.keySet()) {
System.out.println(key + "-----" + map.get(key));
}
// 遍历方式4:lambda表达式
map.forEach((key, value) -> System.out.println(key + "-----" + value));
// 遍历方式5:stream流
map.entrySet().stream().forEach((Map.Entry<String, String> entry)->{
System.out.println(entry.getKey() + "--------" + entry.getValue());
});
}
}