Map是java提供给我们的一种存储数据的接口。它以键值对的方式对数据进行存储,他的实现类有HashMap,LinkedHashMap,TreeMap.今天我们通过HashMap来演示遍历Map的几种方式。
HashMap<Integer,String> h = new HashMap<Integer,String>();
h.put(3, "heihei");
h.put(4, "haha");
h.put(1, "lalaa");
h.put(7, "xyy");
h.put(8, "xyy");
- 第一种
Set<Integer> s =map.keySet();
for (Iterator<Integer> it = s.iterator();it.hasNext();) {
Integer i =it.next();
String v = map.get(i);
System.out.println(i+","+v);
}
- 第二种
Set<Integer> s = map.keySet();
for(Integer i:s){
System.out.println(i+","+map.get(i));
}
- 第三种
Set<Map.Entry<Integer, String>> entryset = map.entrySet();
for (Iterator<Map.Entry<Integer, String>> it = entryset.iterator(); it.hasNext();) {
Map.Entry<Integer, String> me = it.next();
Integer i = me.getKey();
String s = me.getValue();
System.out.println(i+","+s);
- 第四种
此方法是java8中的lamda表达式
map.forEach((k,v)->System.out.println( k + " : " + v));
- 第五种
Collection<String> values =map.values();
for (Iterator<String> it = values.iterator(); it.hasNext();) {
String s = it.next();
System.out.println(s);
}