Java 通过map遍历

来源:互联网 发布:手机系统克隆软件 编辑:程序博客网 时间:2024/09/21 06:18

下面列出一些最常用的Java遍历Map对象的方法

1、在for-each中使用entrySet遍历

这是最常用的遍历方式。在键值都需要时使用。

Map<String,String> map = new HashMap<String,String>();for(Map.Entry<String, String> entry : map.entrySet()){    System.out.println(entry.getKey()+" : "+entry.getValue());}
  • 1
  • 2
  • 3
  • 4
  • 5


2、在for-each循环中遍历keys或values

如果只需要map中的键或者值,可以通过keySet或values来实现遍历,而不是用entrySet。

Map<String,String> map = new HashMap<String,String>();for(String key : map.keySet()){    System.out.println("key: " + key);}for(String value : map.values()){    System.out.println("value: " + value);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8


3、使用Iterator遍历

Map<String,String> map = new HashMap<String,String>();Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();while(iterator.hasNext()){    Map.Entry<String, String> m = iterator.next();    System.out.println(m.getKey()+ " : "+m.getValue());}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

使用此方法在遍历时调用iterator.remove()可以删除entries,其他方法则不能,可能会产生意想不到的结果。 
参考:链接 

4、通过key遍历value

Map<String,String> map = new HashMap<String,String>();for(String key : map.keySet()){    String value = map.get(key);    System.out.println(key + " : " +value);}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6


例:

import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class T {    public static void main(String[] args) {        Map<String, String> map = new HashMap<String, String>();        map.put("beijing", "kaoya");        map.put("henan", "hulatang");        map.put("tianjin", "mahua");        System.out.println("1、在for-each中使用entrySet遍历");        for (Map.Entry<String, String> entry : map.entrySet()) {            System.out.println(entry.getKey() + " : " + entry.getValue());        }        System.out.println("2、在for-each循环中遍历keys或values");        for (String key : map.keySet()) {            System.out.println("key: " + key);        }        for (String value : map.values()) {            System.out.println("value: " + value);        }        System.out.println("3、使用Iterator遍历");        Iterator<Map.Entry<String, String>> ite = map.entrySet().iterator();        while (ite.hasNext()) {            Map.Entry<String, String> m = ite.next();            System.out.println(m.getKey() + " : " + m.getValue());        }        System.out.println("4、通过key遍历value");        for (String key : map.keySet()) {            String value = map.get(key);            System.out.println(key + " : " + value);        }    }}
原创粉丝点击