java map在JAVA中Map和HashMap有什么区别

java map  时间:2022-02-25  阅读:()

java中map的常用遍历方法

方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } 注意:for-each循环在java 5中被引入所以该方法只能应用于java 5或更高的版本中。如果你遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用。 方法二 在for-each循环中遍历keys或values。 如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。 Map<Integer, Integer> map = new HashMap<Integer, Integer>(); //遍历map中的键 for (Integer key : map.keySet()) { System.out.println("Key = " + key); } //遍历map中的值 for (Integer value : map.values()) { System.out.println("Value = " + value); } 该方法比entrySet遍历在性能上稍好 方法三使用Iterator遍历 使用泛型: Map<Integer, Integer> map = new HashMap<Integer, Integer>(); Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator(); while (entries.hasNext()) { Map.Entry<Integer, Integer> entry = entries.next(); System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } 不使用泛型: Map map = new HashMap(); Iterator entries = map.entrySet().iterator(); while (entries.hasNext()) { Map.Entry entry = (Map.Entry) entries.next(); Integer key = (Integer)entry.getKey(); Integer value = (Integer)entry.getValue(); System.out.println("Key = " + key + ", Value = " + value); } 方法四、通过键找值遍历(效率低) Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Integer key : map.keySet()) { Integer value = map.get(key); System.out.println("Key = " + key + ", Value = " + value); } 总结 如果仅需要键(keys)或值(values)使用方法二。 如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。 否则使用方法一(键值都要)。

在JAVA中Map和HashMap有什么区别

Map是一个接口不能实例化,HashMapMap的一个实现 ,就好比你Map是一辆汽车 HashMap是宝马牌的...

Hostio€5/月KVM-2GB/25GB/5TB/荷兰机房

Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...

npidc:9元/月,cn2线路(不限流量)云服务器,金盾+天机+傲盾防御CC攻击,美国/香港/韩国

npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...

妮妮云(119元/季)日本CN2 2核2G 30M 119元/季

妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...

java map为你推荐
大蟒蛇平台手机软件的制作达内学院请问北京达内到底怎么样啊?纠结死我了。托,请绕道iphone12或支持北斗导航苹果12几个版本magento模板网站建好了,但是对模板不满意,有哪位亲知道怎么换模板吗?dnf客户端消失地下城勇士登录 客户端消失人脸检测综述人脸检测技术的研究现状智能公共广播系统智能公共广播系统js-3301数码mp3编程器怎么使用做视频的免费软件求有哪种视频制作软件是全免费的啊?慕课网址如何加入慕课学习课程?handoff怎么用Mac OS Yosemite Handoff,iOS8 Handoff怎么用
过期域名抢注 20g硬盘 论坛空间 长沙服务器 太原联通测速平台 刀片服务器是什么 老左正传 泉州移动 电信主机 环聊 百度云加速 免费php空间 空间申请 cdn服务 睿云 umax 免费赚q币 中美互联网论坛 海外加速 windowsserver2012 更多