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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Charles抓包工具简单教程

    Charles抓包工具简单教程为什么使用charles-windows在实际开发、测试中需要代理截取app的网络请求报文来快速定位问题,https双向认证的APP越来越多,fiddler在这方面并不好用。由于windows系统较多,编写此博客作为windows版的使用指南,其中包含了一些简易的使用,安装hhtps证书抓包,常用的设置,以及弱网测试,下列都会详细讲解,内容为本人的测试经验,不足之处还望补充。所需材料·…

    2022年6月12日
    48
  • 盘点 6 个开源的音乐播放器!

    盘点 6 个开源的音乐播放器!盘点几个开源的音乐播放器,在这些项目中你可以学习到React、Vue、Kotlin等相关的技术栈。有的是仿当前比较火的音乐应用,而有的是开发者自主开发。本期推荐开源项目目录:1.仿QQ音乐2.网易云音乐3.Material主题音乐播放器4.不太现代的音乐播放器5.专注于免费流媒体资源的桌面音乐播放器01仿QQ音乐模仿QQ音乐网页版界面,采用fl…

    2022年6月26日
    70
  • Jmeter教程(一) – 入门

    Jmeter教程(一) – 入门一、下载登录官网Jmeter下载,得到压缩包jmeter-5.0.tgz,下载地址:http://jmeter.apache.org/download_jmeter.cgi。二、安装将下载得到的压缩包解压即可,这里我解压到自己电脑的路径为E:\Mysoftware\apache-jmeter-5.0。三、运行点击bin目录下的jmeter.bat即可启动Jmeter。启动后可以看到…

    2022年6月6日
    29
  • 订单支付功能测试

    订单支付功能测试支付金额1.小于最小值,如:小于0.012.大于最大值/金额上限3.无实际意义金额,如0元4.格式错误(负数、非数字)5.余额小于实际需要支付的金额6.超过第三方支付接口当日消费/单笔消费金额支付接口第三方接口,微信/支付宝/网银系统/post机终端服务→可以参照:https://mp.csdn.net/postedit/100169648…

    2022年6月6日
    150
  • A. Anton and Letters

    A. Anton and Letters

    2021年12月3日
    37
  • 再谈单链表

    再谈单链表

    2021年9月12日
    44

发表回复

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

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