遍历HashMap的问题

zhaolinger2 2009-07-07 10:35:27
遍历一个HashMap,要求时间复杂度尽可能小。
...全文
785 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
a132225 2012-04-28
  • 打赏
  • 举报
回复
额,这应该要讨论,不用遍历Hashmap而满足LZ需求,或者不用HASHMAP来解决问题的方案吧。

最小资源解决实际问题,满足需求才是主要啊。
wuyufeixue 2010-11-04
  • 打赏
  • 举报
回复
txf_7337 2009-07-15
  • 打赏
  • 举报
回复
无聊的题目,我也加个无聊的题目
如果value还是一个hashmap呢(map里存map)
chenbo124 2009-07-15
  • 打赏
  • 举报
回复
先取出全部Key值,在根据key值循环遍历。。。
lisl2003 2009-07-15
  • 打赏
  • 举报
回复
楼主消消气。
zhaolinger2 2009-07-15
  • 打赏
  • 举报
回复


[Quote=引用 14 楼 steven138 的回复:]
开宝马只是你个人的行为,但程序写出来是给客户用,客户要你开发个交通工具从中国去美国,你却开发一辆自行车出来,你认为客户能接受么
[/Quote]

1、不能因为程序写出来给客户用,我们就不能去想别的东西。我想这也是程序员缺乏创造力,只知道照本宣科的原因之一吧。
2、杀鸡焉用牛刀,但是不代表牛刀就一定不能杀鸡。HashMap一般不用来遍历,但是万一某个时候需要遍历,怎么办?
3、14楼的比喻是不够贴切的。HashMap是可以遍历的只不过我们一般不用来遍历,而如果你单靠自行车,是不可能到美国的,因为自行车根本没办法跨过海峡。这两者性质上有差别。另外,客户是否接受,取决于是否符合客户的需求,而不是大家一直以来的惯有想法。如果他就是想要一辆自行车,你总不能开发一架飞机给他吧?
sd01397055 2009-07-14
  • 打赏
  • 举报
回复
学习
wakngyuyu 2009-07-14
  • 打赏
  • 举报
回复
过路的,随便看看
zhufenghappy 2009-07-14
  • 打赏
  • 举报
回复
study
livs_ly_2010 2009-07-12
  • 打赏
  • 举报
回复
敬礼!
zhaolinger2 2009-07-09
  • 打赏
  • 举报
回复
一个东西的用途不代表他只能做这件事情或者做别的事情就不好。
就像我可以开宝马去菜市场买菜,也可以开宝马去约会,并不是开宝马就只能去约会,只不过开宝马去约会比较好而已。
如果说HashMap不是用来遍历的,就得知道如果要遍历会怎么样,这或许就是这个题的深层含义。
有些问题并不是想象中的无聊,只是我们平时没有去注意,没有去想过而已。


[Quote=引用 10 楼 bao110908 的回复:]
谁实在的,我认为这个问题很无聊呢。

HashMap 一般用于进行快速查找使用的,而不是用来遍历的,而且遍历一个 HashMap 做什么呢?有什么意思呢?
[/Quote]
steven138 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhaolinger2 的回复:]
一个东西的用途不代表他只能做这件事情或者做别的事情就不好。
就像我可以开宝马去菜市场买菜,也可以开宝马去约会,并不是开宝马就只能去约会,只不过开宝马去约会比较好而已。
如果说HashMap不是用来遍历的,就得知道如果要遍历会怎么样,这或许就是这个题的深层含义。
有些问题并不是想象中的无聊,只是我们平时没有去注意,没有去想过而已。



引用 10 楼 bao110908 的回复:
谁实在的,我认为这个问题很无聊呢。…
[/Quote]
开宝马只是你个人的行为,但程序写出来是给客户用,客户要你开发个交通工具从中国去美国,你却开发一辆自行车出来,你认为客户能接受么
softroad 2009-07-07
  • 打赏
  • 举报
回复
算一下时间
beanj 2009-07-07
  • 打赏
  • 举报
回复
效率高

Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
beanj 2009-07-07
  • 打赏
  • 举报
回复
效率低


Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
wangjiancy 2009-07-07
  • 打赏
  • 举报
回复
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
郎岳樟 2009-07-07
  • 打赏
  • 举报
回复
也是
jefyjiang 2009-07-07
  • 打赏
  • 举报
回复
9楼正解
  • 打赏
  • 举报
回复
谁实在的,我认为这个问题很无聊呢。

HashMap 一般用于进行快速查找使用的,而不是用来遍历的,而且遍历一个 HashMap 做什么呢?有什么意思呢?
  • 打赏
  • 举报
回复
for(Map.Entry<String, String> entry : map.entrySet()) {
entry.getKey();
entry.getValue();
}
加载更多回复(4)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧