JDK1.8之前
1.通过entrySet方法遍历
public static void main(String[] args) {
Map<String,String>map=new HashMap<String,String>();
map.put("张三","1");
map.put("李四","2");
map.put("王五","3");
for (Map.Entry<String,String>entry:map.entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
2.通过KeySet方法遍历
public static void main(String[] args) {
Map<String,String>map=new HashMap<String,String>();
map.put("java","1");
map.put("python","2");
map.put("go","3");
for (String key:map.keySet()){
System.out.println(key+":"+map.get(key));
}
}
3.使用迭代器+entrySet
public static void main(String[] args) {
Map<String,String>map=new HashMap<String,String>();
map.put("迭代1","1");
map.put("迭代2","2");
map.put("迭代3","3");
Iterator<Map.Entry<String,String>>iterator=map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String,String> entry=iterator.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
4.使用迭代器+KeySet
public static void main(String[] args) {
Map<String,String>map=new HashMap<String,String>();
map.put("key迭代1","1");
map.put("key迭代2","2");
map.put("key迭代3","3");
Iterator<String>iterator=map.keySet().iterator();
while (iterator.hasNext()){
String item=iterator.next();
System.out.println(item+":"+map.get(item));
}
}
JDK1.8之后
5.使用Lambda表达式遍历
public static void main(String[] args) {
Map<String,String>map=new HashMap<String,String>();
map.put("lambda1","1");
map.put("lambda2","2");
map.put("lambda3","3");
map.forEach((key,value)->{
System.out.println(key+":"+value);
});
}
6.使用Stream多线程遍历
public static void main(String[] args) {
Map<String,String>map=new HashMap<String,String>();
map.put("多线程1","1");
map.put("多线程2","2");
map.put("多线程3","3");
map.entrySet().stream().parallel().forEach((entry)->{
System.out.println(entry.getKey()+":"+entry.getValue());
});
}