map集合遍历的三种方式(map遍历的两种方式)

Map集合的遍历与List和Set集合不同。Map有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map以及实现Map的接口类(如HashMap、TreeMap、LinkedHashMap、Hashtable等)都可以用以下几种方式遍历。1)在for循环中使用entries实现Map的遍历(最常见和最常用的)。publicstati…

大家好,又见面了,我是你们的朋友全栈君。

Map 集合的遍历与 List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等)都可以用以下几种方式遍历。

1)在 for 循环中使用 entries 实现 Map 的遍历(最常见和最常用的)。

public static void main(String[] args) {

Map map = new HashMap();

map.put(“Java入门教程”, “http://c.biancheng.net/java/”);

map.put(“C语言入门教程”, “http://c.biancheng.net/c/”);

for (Map.Entry entry : map.entrySet()) {

String mapKey = entry.getKey();

String mapValue = entry.getValue();

System.out.println(mapKey + “:” + mapValue);

}

}

2)使用 for-each 循环遍历 key 或者 values,一般适用于只需要 Map 中的 key 或者 value 时使用。性能上比 entrySet 较好。

Map map = new HashMap();

map.put(“Java入门教程”, “http://c.biancheng.net/java/”);

map.put(“C语言入门教程”, “http://c.biancheng.net/c/”);

// 打印键集合

for (String key : map.keySet()) {

System.out.println(key);

}

// 打印值集合

for (String value : map.values()) {

System.out.println(value);

}

3)使用迭代器(Iterator)遍历

Map map = new HashMap();

map.put(“Java入门教程”, “http://c.biancheng.net/java/”);

map.put(“C语言入门教程”, “http://c.biancheng.net/c/”);

Iterator> entries = map.entrySet().iterator();

while (entries.hasNext()) {

Entry entry = entries.next();

String key = entry.getKey();

String value = entry.getValue();

System.out.println(key + “:” + value);

}

4)通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作。

纯文本复制

for(String key : map.keySet()){

String value = map.get(key);

System.out.println(key+”:”+value);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126894.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 英语发音规则—ea字母组合发音规律「建议收藏」

    英语发音规则—ea字母组合发音规律「建议收藏」英语发音规则ea字母组合发音规律一、总结一句话总结:字母组合ea的发音规律,在学习字母组合在单词中的发音规律以前,一定要熟练撑握什么是开音节,什么是闭音节,否则你就不撑握这些发音规律。1、ea

    2022年8月5日
  • 智能车图像处理-阳光算法[通俗易懂]

    智能车图像处理-阳光算法[通俗易懂]阳光算法见仁见智,多阈值OSTU和模糊OSTU是我参考论文进行改进的,整篇都放在了我的毕业论文中,毕业前不会把程序粘在这里,请读者见谅。

    2022年5月13日
  • 关于rndc-confgen 在centos 上不能用的解决方法

    关于rndc-confgen 在centos 上不能用的解决方法

    2021年9月12日
  • 多线程之join方法

    多线程之join方法一.前言:    在很多情况下,我们都是通过主线程创建并启动子线程的,如果子线程中需要耗费大量的时间计算的话,主线程往往会比子线程先结束,这个时候就会导致有时候主线程想获取子线程计算之后的结果,但是却获取不到。这个时候,我们就可以通过join方法来解决这个问题。二.join方法的作用:join方法的作用是使所属的线程对象x正常执行run()方法中的任务,而使当前线程z进行无限期的…

    2022年5月4日
  • WPF教程三:布局之WrapPanel面板(转 )[通俗易懂]

    WPF教程三:布局之WrapPanel面板(转 )[通俗易懂]WPF教程三:布局之WrapPanel面板WrapPanel:环绕面板WrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续排序按照从上至下

    2022年7月1日
  • executescalar mysql_ExecuteScalar

    executescalar mysql_ExecuteScalar这两个答案和一点点思考使我想到了一个接近答案的东西。首先再澄清一下:该应用程序是用C#(2.0+)编写的,并使用ADO.NET与SQLServer2005进行通信。镜像设置是托管主体和镜像的两个W2k3服务器以及托管作为监视器的快速实例的第三个服务器。这样做的好处是,故障转移对于使用数据库的应用程序几乎是透明的,它将对某些连接引发错误,但从根本上讲一切都会很好地进行。是的,我们得到了奇怪的误报…

    2022年6月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号