Map的遍历
map的遍历有四种方法:
1.只获取所有的key或value
Map<String, Integer> map = new HashMap<>(); map.put("key1", 20); map.put("key2", 30); map.put("key3", 10); map.put("key4", 15); //获取所有的key Set<String> keySet = map.keySet(); for (String s : keySet) { System.out.println(s); } //获取所有的value Collection<Integer> values = map.values(); for (Integer value : values) { System.out.println(value); }
2.使用entrySet方法同时获取key和value
Set<Map.Entry<String, Integer>> entries = map.entrySet(); for (Map.Entry<String, Integer> entry : entries) { System.out.println("key:"+entry.getKey()+",value:"+entry.getValue()); }
3.使用迭代器
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry<String, Integer> entry = iterator.next(); System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()); }
4.使用java8新特性forEach
map.forEach((key, value) -> { System.out.println("key:" + key + ",value:" + value); });
5.使用最原始的fori
List<String> keys = new ArrayList<>(map.keySet()); for (int i = 0; i < keys.size(); i++) { System.out.println("index:" + i + "," + keys.get(i) + ":" + map.get(keys.get(i))); }
这种方式是将其key放入list集合中,通过key的遍历获取值,在需要使用索引值时使用。
就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !