社区
Java SE
帖子详情
HashMap和Hashtable中怎么修改key的value值?
rcrain
2005-12-07 08:37:14
HashMap和Hashtable中怎么修改key的value值?HashMap和Hashtable不考虑安全性的话,哪一个效率高?如何高效的遍历?
...全文
38388
12
打赏
收藏
HashMap和Hashtable中怎么修改key的value值?
HashMap和Hashtable中怎么修改key的value值?HashMap和Hashtable不考虑安全性的话,哪一个效率高?如何高效的遍历?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dongdong715
2005-12-17
打赏
举报
回复
Vector 和 Hashtable都是同步的,效率相对低点,,
chinatelly
2005-12-17
打赏
举报
回复
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());
}
chinatelly
2005-12-17
打赏
举报
回复
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());
}
chinatelly
2005-12-17
打赏
举报
回复
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());
}
chinatelly
2005-12-08
打赏
举报
回复
直接覆盖就行,使用put(key,value)方法覆盖
火山企鹅
2005-12-08
打赏
举报
回复
同意楼上的说法
如果要修改其Key和Value的值应该做如下几个操作:
1、用Object remove(Object key)方法从HashMap或者HashTable中移去待修改的key值对,该方法同时会返回该Key所对应的Object
2、用put(Object key, Object value) 将新的Key-Value重新放入HashMap(HashTable)
chg2008
2005-12-08
打赏
举报
回复
楼上说的差不多了
PigBrother
2005-12-08
打赏
举报
回复
先remove 再put即可
HashMap因为不是同步的,所以效率高一些
AllanJD
2005-12-08
打赏
举报
回复
两者的null值得许可和同步的支持以外没有什么区别。
HashMap因为不支持同步,所以效率要比table高一些,所以在没有线程考虑的情况下应该优先考虑HashMap。
两者采用的算法都是基于Hash码的,所以遍历效率不会存在很大区别。
紫炎圣骑
2005-12-07
打赏
举报
回复
(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)
紫炎圣骑
2005-12-07
打赏
举报
回复
要修改key的value值,可以首先remove(),然后put()
masse
2005-12-07
打赏
举报
回复
HashMap是key和value的对应
你要修改value,直接
map.put(key,newValue)
就可以了
java程序员面试题
HashMap
和
Hashtable
的区别。
HashMap
是
Hashtable
的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于
HashMap
允许空(null)键
值
(
key
),由于非线程安全,效率上可能高于
Hashtable
。
HashMap
允许将null作为一个entry的
key
或者
value
,而
Hashtable
不允许。
HashMap
把
Hashtable
的contains方法去掉了,改成contains
value
和contains
Key
。因为contains方法容易让人引起误解。
Hashtable
继承自Dictionary类,而
HashMap
是Java1.2引进的Map interface的一个实现。 最大的不同是,
Hashtable
的方法是Synchronize的,而
HashMap
不是,在多个线程访问
Hashtable
时,不需要自己为它的方法实现同步,而
HashMap
就必须为之提供外同步。
Hashtable
和
HashMap
采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。 同步和异步有何异同,在什么情况下分别使用他们?举例说明。
java基础知识面试题
HashMap
和
HashTable
的区别 1、两者父类不同
HashMap
是继承自AbstractMap类,而
Hashtable
是继承自Dictionary类。不过它们都实现了同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口。 2、对外提供的接口不同
Hashtable
比
HashMap
多提供了elments() 和contains() 两个方法。 elments() 方法继承自
Hashtable
的父类Dictionnary。elements() 方法用于返回此
Hashtable
中
的
value
的枚举。 contains()方法判断该
Hashtable
是否包含传入的
value
。它的作用与contains
Value
()一致。事实上,contans
Value
() 就只是调用了一下contains() 方法。 3、对null的支持不同
Hashtable
:
key
和
value
都不能为null。
HashMap
:
key
可以为null,但是这样的
key
只能有一个,因为必须保证
key
的唯一性;可以有多个
key
值
对应的
value
为null。 4、安全性
HashMap
和
Hashtable
有什么区别?
HashMap
和
Hashtable
有什么区别?
HashMap
和
HashTable
的
key
和
value
是否可以为null
HashMap
可以存储一个
Key
为null,多个
value
为null的元素,但是
Hashtable
却不可以存储
HashMap
.class: // 此处计算
key
的hash
值
时,会判断是否为null,如果是,则返回0,即
key
为null的键
值
对 // 的hash为0。因此一个
hashmap
对象只会存储一个
key
为null的键
值
对,因为它们的hash
值
都相同...
HashMap
、
HashTable
的
key
和
value
是否可为null【案例详解】
本篇详解
HashMap
、
HashTable
的
key
和
value
是否可为null,基础入门学习!
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章