社区
Java SE
帖子详情
hashmap的问题
shili150
2007-08-16 09:52:26
怎样去用字符串中的字符去和 hashmap的key比较,并且用key所对应的value值替换字符串中的值
...全文
313
15
打赏
收藏
hashmap的问题
怎样去用字符串中的字符去和 hashmap的key比较,并且用key所对应的value值替换字符串中的值
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2007-08-17
打赏
举报
回复
我看到消息了,“< >”是泛型参数(JDK 1.5 的新特性之一),<String, String> 第一个 String 表示 key 的类型,也就是说 key 的类型只能是 String 而不能是其他的;第二个 String 是 value 的类型,只能添加 String 类型的值,而不能添加其他的类型。
这样增强了集合的类型安全,在取出值时也用不着进行强制类型转换了,因为它自己知道自身里面放的是什么类型的值了。
shili150
2007-08-17
打赏
举报
回复
<> 是什么意思
shili150
2007-08-16
打赏
举报
回复
感谢各位
更加感谢yufanzy909()他所说的就是我想找的答案
yufanzy909
2007-08-16
打赏
举报
回复
我记得有一个方法是直接判断hashmap里面是否包含某个key,具体方法忘记了 你在帮助文档上面查一下 我现在没有这个文档
clevercong
2007-08-16
打赏
举报
回复
to:yufanzy909()
HashMap里有getValue?是Map.Entry里的。
if(HashMap.contain(String)){
String = hashMap.get(String);
}
yufanzy909
2007-08-16
打赏
举报
回复
for(int i = 0 ; i < String.Length(); i++){
if(HashMap.contain(String.subString(i,i+1)){
String.replace(String.subString*(i,i+1),hashMap.getValue());
}
}
大概就是这么个吧
homepgdn
2007-08-16
打赏
举报
回复
if(HashMap.contain(String)){
String = hashMap.getValue();
}
yufanzy909
2007-08-16
打赏
举报
回复
if(HashMap.contain(String)){
String = hashMap.getValue();
}
zdjray
2007-08-16
打赏
举报
回复
建议用HashMap.get(Object key)
用返回值是否是null判断指定string是存在于HashMap
supermanyan10
2007-08-16
打赏
举报
回复
key你应该知道的是吧
然后直接比较呗
然后比较要是一样,就map.get(key)来替换掉string咯
lingling295
2007-08-16
打赏
举报
回复
学习
beiouwolf
2007-08-16
打赏
举报
回复
containKey(Object)方法检查MAP是否包含这个键
contain(Object)检查是否包含这个值
火龙果被占用了
2007-08-16
打赏
举报
回复
上面弄错了~~~
Map<String, String> map = new HashMap<String, String>();
String str = "abc";
map.put("abc", "123");
if (map.get(str) != null) {
str = map.get(str);
}
System.out.println(str);
火龙果被占用了
2007-08-16
打赏
举报
回复
Map<String, String> map = new HashMap<String, String>();
String str = "abc";
map.put("abc", "123");
str = map.get(str);
}
System.out.println(str);
shili150
2007-08-16
打赏
举报
回复
还有就是yufanzy909所说的replace(char,char) ,而你所说的是subString,两者不相符合。
如果你找到那个直接判断的方法请告诉我一下,谢谢
hashMap
问题
答案
hashMap
数组加链表 数组:采用一段连续的存储单元来存储数据 特点:查询0(1) 删除插入0(N) 总结查询快,插入慢 链表:链表是一种物理存储 单元上非连续、非顺序的存储结构 特点:插入、删除时间复杂度0(1) 查询遍历时间复杂度0(N),总结:插入快 查找慢
hashmap
put值的时候(n是集合的容量) (n - 1) & hash 计算该元素在entry[]数组中的位置 为了提高取余操作的效率,用了按位与& 当需要对2的次幂进行求余时,可以是使用&运算符来代替
HashMap
的一些常见
问题
1.
HashMap
不是线程安全的,那如果多线程下,它是如何处理的?并且什么 情况下会发生线程不安全的情况?
HashMap
不是线程安全的,如果多个线程同时对同一个
HashMap
更改数据的话,会导致数据不一致或者数据污染。 如果出现线程不安全的操作时,
HashMap
会尽可能的抛出 ConcurrentModificationException 防止数据异常。 当我们在对一个
HashMap
进行遍历时,在遍历期间,我们是不能对
HashMap
进行添加,删除等更改数据的操作的,否则也会抛出 Conc
多线程环境下操作
HashMap
的
问题
HashMap
为什么不是线程安全,并发操作
Hashmap
会带来什么
问题
: 这个
问题
曾经有一个面试官问过我,当时我天真的以为是读写操作并发时存在脏数据的
问题
,当时面试官不置可否。我后面回来查资料,发现没有那么简单。并发操作
HashMap
,是有可能带来死循环以及数据丢失的
问题
的。 具体情况如下:(以下代码转自美团点评技术团队的文章Java8系列之重新认识
HashMap
) 情景如下代码:
HashMap
多线程操作下的
问题
总结
HashMap
多线程操作下的
问题
总结
HashMap
多线程操作会造成一系列
问题
,这很多人都知道。但反过来根据现象查
问题
,可能就不那么明显了。因此这里对多线程下
HashMap
使用会造成的
问题
做个小总结,以供大家“根据现象反查
问题
”作参考。
后端---java中
hashmap
多线程并发
问题
详解
HashMap
多线程并发
问题
分析
hashmap
并发
问题
的症状:
hashmap
多线程操作同时调用put()方法后可能导致get()死循环,从而使CPU使用率达到100%,从而使服务器宕机. Java的API文档说
HashMap
是非线程安全的,应该用Concurrent
HashMap
。但是在这里我们可以来研究一下原因。简单代码如下: package com.king.
hashmap
; ...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章