Map集合的遍历
1.通过遍历key来遍历value
- 先试用keySet()方法得到所有的key,在通过调用key值来获取对应的value值
Map<Integer,String> m=new HashMap<>();
m.put(1,"张三");
m.put(2,"李四");
m.put(3,"轩轩");
Set<Integer> s=m.keySet();
//迭代器遍历
Iterator it=s.iterator();
while(it.hasNext()){
Integer key=it.next();
String value=m.get(key);
System.out.peintln(key+"="+value);
}
//for循环遍历
for(Integer key:s){
System.out.println(key+"="+m.get(key));
}
2.将Map集合转换成set集合
- 将Map集合中的key.value用entrySet()方法转换成set集合的key值,再遍历出Set集合中的key值
Map<Integer,String> m=new HashMap<>();
m.put(1,"张三");
m.put(2,"李四");
m.put(3,"轩轩");
Set s=m.entrySet();
for(Object o:s){
System.out.println(s);
}
3.forEach
- 第一二种方式的结合类似,不同的是循环的是Map集合中的node对象
Map<Integer,String> m=new HashMap<>();
m.put(1,"张三");
m.put(2,"李四");
Set s=m.entrySet();
for(Map.entrySet<Integer,String> node:s){
System.out println(node.getKey()+"="+node.getValue());
}
这种方式效率比较高,因为获取key和value都是直接从node对象中获取的属性值。这种方式比较适合于大数据量。