java中怎么遍历HashMap

本文介绍了三种遍历HashMap的方法:通过entrySet遍历键值对、通过keySet获取键再查找值以及直接遍历值集合。对比了不同方法的性能差异,并推荐在需要同时访问键和值时使用entrySet以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

HashMap staff = new HashMap();

添加关键字值对,自己写遍历

Set entries = staff.entrySet();

Iterator iter = entries.iterator();

while(iter.hasNext())

{

Map.Entry entry = (Map.Entry)iter.next();

Object key = entry.getKey();//得到键

Object value = entry.getValue();//得到值

}

2.

Map map = new HashMap();

for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {

Map.Entry entry = (Map.Entry) iter.next(); //map.entry 同时取出键值对

Object key = entry.getKey();

Object val = entry.getValue();

}

3.

Map map = new HashMap();

for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {

Object key = iter.next();

Object val = map.get(key); //取出键对应的值

}

Iterator是迭代器

对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。

而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。

对于我们做web的,可能不部分都是用vo对象或是form封装信息,所以用到hashmap时,其内存放的都是上面的对象。因此使用entryset遍历性能会有所提高。

hashmap使用很多,比如导入信息时就要用到,因大部分导入的信息要去判断是否有重复的信息,这样就可以利用containsKey来进行处理了,而不用在插入的时候去进行处理。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值