JAVA中Map类对象如何实现遍历

Posted JC97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中Map类对象如何实现遍历相关的知识,希望对你有一定的参考价值。

由于JAVA中Map类是不继承Iterable接口,所以不能像其他Collection 数据结构那样,通过迭代器进行遍历;那么Map<K,V>类对象如何实现遍历呢?

我们先看JDK中怎么介绍,后面写代码说明;

JDK文档中,其意大致就是通过Map.Entry<K,V> 接口,通过创建一个存储“键值对” 的Set 来接收entrySet()方法返回的Map对象的键值对视图,而Set<>是继承Iterable接口的,我们便可以通过foreach 来实现遍历:

 

 

 

 

 举例:

private boolean canGenerate(Map<Character, Integer> cmp, Map<Character, Integer> map) {
        Set<Map.Entry<Character,Integer>> entries = cmp.entrySet();
        for(Map.Entry<Character,Integer> entry : entries){
            Character c = entry.getKey();
            int cnt = entry.getValue();
            if(!map.containsKey(c)||map.get(c)<cnt) return false;
        }
    return true;
    }

 

以上是关于JAVA中Map类对象如何实现遍历的主要内容,如果未能解决你的问题,请参考以下文章

Java中遍历Map对象的4种方法

ListSetMap常见集合遍历总结

JAVA中,类、对象、实体、实体类、实体对象之间存在怎样的联系??请高手做形象的解释。

java Map问题

Java中如何遍历Map对象的4种方法

C# 中类似Java Map功能的语句是啥