遍历一个HashMap,要求时间复杂度尽可能小。

解决方案 »

  1.   

    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(); 

      

  2.   

    效率低
    Map map = new HashMap();
    Iterator iter = map.keySet().iterator();
    while (iter.hasNext()) {
        Object key = iter.next();
        Object val = map.get(key);

      

  3.   

    效率高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();
    }
      

  4.   

    for(Map.Entry<String, String> entry : map.entrySet()) {
        entry.getKey();
        entry.getValue();
    }
      

  5.   

    谁实在的,我认为这个问题很无聊呢。HashMap 一般用于进行快速查找使用的,而不是用来遍历的,而且遍历一个 HashMap 做什么呢?有什么意思呢?
      

  6.   

    一个东西的用途不代表他只能做这件事情或者做别的事情就不好。
    就像我可以开宝马去菜市场买菜,也可以开宝马去约会,并不是开宝马就只能去约会,只不过开宝马去约会比较好而已。
    如果说HashMap不是用来遍历的,就得知道如果要遍历会怎么样,这或许就是这个题的深层含义。
    有些问题并不是想象中的无聊,只是我们平时没有去注意,没有去想过而已。
      

  7.   


    1、不能因为程序写出来给客户用,我们就不能去想别的东西。我想这也是程序员缺乏创造力,只知道照本宣科的原因之一吧。
    2、杀鸡焉用牛刀,但是不代表牛刀就一定不能杀鸡。HashMap一般不用来遍历,但是万一某个时候需要遍历,怎么办?
    3、14楼的比喻是不够贴切的。HashMap是可以遍历的只不过我们一般不用来遍历,而如果你单靠自行车,是不可能到美国的,因为自行车根本没办法跨过海峡。这两者性质上有差别。另外,客户是否接受,取决于是否符合客户的需求,而不是大家一直以来的惯有想法。如果他就是想要一辆自行车,你总不能开发一架飞机给他吧?
      

  8.   

    先取出全部Key值,在根据key值循环遍历
      

  9.   

    无聊的题目,我也加个无聊的题目
    如果value还是一个hashmap呢(map里存map)
      

  10.   

    额,这应该要讨论,不用遍历Hashmap而满足LZ需求,或者不用HASHMAP来解决问题的方案吧。最小资源解决实际问题,满足需求才是主要啊。