Map的遍历方式
数据准备
Map<String,String> map=new HashMap<>(); map.put("username", "test"); map.put("passWord", "123"); map.put("userID", "1");
1.通过map.keySet()进行遍历(效率较低)
for (String s : map.keySet()) { System.out.println(s+"的vlaue值为:"+map.get(s)); }
2.通过对map entrySet的遍历,也可以同时拿到key和value,一般情况下,性能上要优于keyset,这一种也是最常用的遍历方法,但Iterator也有其优势:在用foreach遍历map时,如果改变其大小,会报错,但如果只是删除元素,可以使用Iterator的remove方法删除元素。
for (Map.Entry<String, String> entry:map.entrySet()){ String value = entry.getValue(); String key = entry.getKey(); System.out.println("key="+key+",value="+value); }
3.通过Iterator遍历;
Iterator<Entry<String, String>> entries = map.entrySet().iterator(); while(entries.hasNext()){ Entry<String, String> entry = entries.next(); String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+":"+value); }
4.在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好;
//key for(String key : map.keySet()){ System.out.println(key); } //value for(String value : map.values()){ System.out.println(value); }