温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中Map循环遍历的方法有哪些

发布时间:2022-07-14 13:41:56 来源:亿速云 阅读:193 作者:iii 栏目:开发技术

这篇文章主要介绍“Java中Map循环遍历的方法有哪些”,在日常操作中,相信很多人在Java中Map循环遍历的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Map循环遍历的方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、创建一个Enum

public enum FactoryStatus {
    BAD(0,"ou"),
    GOOD(1,"yeah");

    private int status;
    private String description;
    FactoryStatus(int status, String description){
        this.status=status;
        this.description=description;
    }

    public int getStatus() {
        return status;
    }

    public String getDescription(){
        return description;
    }
}

这个Enum作为Map的value。

2、开始遍历

方法一

Set set = map.keySet();
for (Object o : set) {
    System.out.println(o+""+map.get(o));
}

通过key的set集合进行遍历,然后通过key来取map的value,此方法用的比较多。

方法二

Set set = map.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
    Object next = iterator.next();
    System.out.println("key为:"+next+",value为:"+map.get(next));
}

将key的set集合以迭代器的方式遍历出来,然后通过key来取map的value。

方法三

Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
Iterator<Map.Entry<String, FactoryStatus>> iterator1 = entries.iterator();
while (iterator1.hasNext()){
    Map.Entry<String, FactoryStatus> next = iterator1.next();
    System.out.println("方法三的key为:"+next.getKey()+",value为:"+next.getValue());
}

将Map的键值对以迭代器的方式遍历出来,然后通过.getKey()与.getValue()方法取k、v的值。

方法四

Collection<FactoryStatus> values = map.values();
for (FactoryStatus value : values) {
    System.out.println("方法四的value为:"+value);
}

此方法直接取出map的value并放在collection中,然后将v循环遍历。

方法五

Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
for (Map.Entry<String, FactoryStatus> entry : entries) {
    System.out.println("方法五的key为:"+entry.getKey()+",value为:"+entry.getValue());
}

取得所有键值对来通过foreach循环,遍历出所有k、v,理论上推荐这种方法,尤其是容量较大的时候。

到此,关于“Java中Map循环遍历的方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI