码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-07-24 09:47:40      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:说明   each   代码   image   false   entry   iterable   for   rabl   

由于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类对象如何实现遍历

标签:说明   each   代码   image   false   entry   iterable   for   rabl   

原文地址:https://www.cnblogs.com/debug-the-heart/p/13369581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!