HashMap和Hashtable中怎么修改key的value值?HashMap和Hashtable不考虑安全性的话,哪一个效率高?如何高效的遍历?

解决方案 »

  1.   

    HashMap是key和value的对应
    你要修改value,直接
    map.put(key,newValue)
    就可以了
      

  2.   

    要修改key的value值,可以首先remove(),然后put()
      

  3.   

    (除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)
      

  4.   

    两者的null值得许可和同步的支持以外没有什么区别。HashMap因为不支持同步,所以效率要比table高一些,所以在没有线程考虑的情况下应该优先考虑HashMap。两者采用的算法都是基于Hash码的,所以遍历效率不会存在很大区别。
      

  5.   

    同意楼上的说法
    如果要修改其Key和Value的值应该做如下几个操作:
    1、用Object remove(Object key)方法从HashMap或者HashTable中移去待修改的key值对,该方法同时会返回该Key所对应的Object
    2、用put(Object key, Object value) 将新的Key-Value重新放入HashMap(HashTable)
      

  6.   

    直接覆盖就行,使用put(key,value)方法覆盖
      

  7.   

    先remove 再put即可
    HashMap因为不是同步的,所以效率高一些
      

  8.   

    Map map = new HashMap();
    map.put("1","value1");
    map.put("2","value2");
    map.put("3","value3");
    map.put("4","value4");
    System.out.println(map.get("1"));
    Set keySet = map.keySet();
    for(Iterator iterator = keySet.iterator();iterator.hasNext();)
    {
      System.out.println(iterator.next());
    }
      

  9.   

    Map map = new HashMap();
    map.put("1","value1");
    map.put("2","value2");
    map.put("3","value3");
    map.put("4","value4");
    Collection values=map.values();
    for (Iterator iterator = values.iterator(); iterator.hasNext();)
    {
      System.out.println(iterator.next());
    }
      

  10.   

    Map map = new HashMap();
    map.put("1","value1");
    map.put("2","value2");
    map.put("3","value3");
    map.put("4","value4");
    Set entrySet=map.entrySet();
    for (Iterator iterator = entrySet.iterator(); iterator.hasNext();)
    {
      System.out.println(iterator.next());
    }
      

  11.   

    Vector 和 Hashtable都是同步的,效率相对低点,,