Hashtable是无序的LinkedHashMap会按Put入顺序
TreeMap是按Key的大小顺序。

解决方案 »

  1.   


    因为按照hash为键来排序
      

  2.   

    得到一个Hashtable <String, String> hr,获得value需要key,如果不知道key,那么hr的内容就无法获取了吗??
      

  3.   

    要顺序用linkedHashMap
    要大小用TreeMap
      

  4.   

    一般map其实也是数组,他的元素类型是Entry<k,v>,里面其实是键值对,所以一般键是不能重复的,值是能重复的,所以即使这道题可以实现,也不要这样作,会丢失元素,除非你重写equals方法和hashCode方法
      

  5.   

    跟HASHMAP无关 主要是SET无序 如果LZ想让他有序的话 在存储的时候同时可以用一个LIST来保存有序的键值
      

  6.   


    如果你知道你要那个HR的话  可以通过 keySet() 先将所有的KEY读出来 然后迭代这个KEY SET 逐个比较 直到找到为止 另外 也可以调用方法来确认该VALUE是否存在于MAP之中
      

  7.   


    确实可以通过keySet()取得所有的key,但是如何从keySet()逐个取出key呢?
      

  8.   

    hashMap和hashTable都是无序集合
    里面元素的排列是按元素的hashcode计算而出的如果要用有序的可以用LinkedHashMap
      

  9.   

    HashMap和HashTable都是无序的,所以存入的顺序不一定和取出的顺序一致,实现Map接口的容器只有TreeMap是有序的,可以在构造HshTree时传入一个比较器,根据特定的比较器进行排序
    TreeMap(Comparator<? super K> c) 
    构造一个新的空映射,该映射根据给定的比较器进行排序。所有插入到该映射到的所有键必须可由给定的比较器相互可比较:对映射中的任何键 k1 和 k2 执行 comparator.compare(k1, k2) 必须不抛出 ClassCastException。如果用户尝试将违背此约束的键添加到映射中,则 put(Object key, Object value) 调用将抛出 ClassCastException。 参数:
    c - 用于对此映射进行排序的比较器。null 值指示应该使用键的自然排序
      

  10.   


    确实可以通过keySet()取得所有的key,但是如何从keySet()逐个取出key呢?keySet().iterator()得到的值并不是单个key值,而是对象。
      

  11.   


    这个Set是怎么实现的 小弟的确是不知道(跟HASH函数有关?) 但是肯定的是 SET里面是不允许存储重复对象的 那么就是说 他本身就非常适合作为存储KEY的容器我并不知道LZ想要的KEY值是什么 但是KEYSET方法获得的就是KEY的集合 集合里放的就是KEY本身 什么叫KEY值!
    别用那么触目惊心的字体..