HashMap和Hashtable中怎么修改key的value值?

时间:2021-04-20 19:10:53
HashMap和Hashtable中怎么修改key的value值?HashMap和Hashtable不考虑安全性的话,哪一个效率高?如何高效的遍历?

12 个解决方案

#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


楼上说的差不多了

#6


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

#7


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

#8


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

#9


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

#10


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

#11


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

#12


Vector 和 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


楼上说的差不多了

#6


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

#7


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

#8


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

#9


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

#10


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

#11


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

#12


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