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的遍历获取值,在需要使用索引值时使用。

posted @ 2020-10-16 10:40  钟小嘿  阅读(130)  评论(0编辑  收藏  举报