+ -
当前位置:首页 → 问答吧 → 关于HASHMAP 和while循环的查询效率问题

关于HASHMAP 和while循环的查询效率问题

时间:2011-08-01

来源:互联网

例如:
我想查询某个值为a的对象

第一种方式:将集合存在hashmap map里面
Object o = map.get(a);


第二种方式: 是将结合存到Iterator iter里面
while(iter.hasNext()){
  b = iter.next()
  if(a == b){
  Object o = b;
  break;
  }
}

请问这俩的执行效率哪个高,他们的算法的时间复杂度分别是多少。
hashMap的时间复杂度是O(1)
while是多少? 我怎么觉得也是1呢

请高手指点。

作者: javaors   发布时间: 2011-08-01

效率的话肯定是hashmap要高了
既然你知道时间复杂度,其实hashmap就是数据结构中的哈希表,index去检索哈什表对应的对象。

作者: p_rince   发布时间: 2011-08-01

顶起。

作者: javaors   发布时间: 2011-09-14

个人感觉基本hashmap就是一次查询
而迭代查询次数则是>=1&&<=list.size()的

作者: topzergling   发布时间: 2011-09-14

while 里面不就是跟一个for差不多的么

作者: superddw6   发布时间: 2011-09-14

hash
1,hash Ο(1) 
2,for Ο(n)

作者: s00000000001   发布时间: 2011-09-14