Java中遍历Map对象详解编程语言

下面列出一些最常用的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()); 
}

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); 
}

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()); 
}

使用此方法在遍历时调用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); 
}

例:

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); 
        } 
    } 
 
}

作者:blog.ytso.com

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14306.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论