社区
Java SE
帖子详情
java里面容器的几个问题。。
RouShan007
2012-06-05 01:00:27
1.遍历最快的容器应该是神马呢?
2.查找最快的容器是hashset吗?
3.hashset在判断是否包含某个元素的时候很快,那如果要查找并定位这个元素应该用什么容器比较合适呢?
写一个程序,之前用vector。。慢死我了。。。
现在改用了ArrayList貌似快了很多,但是还是觉得不够快呃。。。
...全文
131
9
打赏
收藏
java里面容器的几个问题。。
1.遍历最快的容器应该是神马呢? 2.查找最快的容器是hashset吗? 3.hashset在判断是否包含某个元素的时候很快,那如果要查找并定位这个元素应该用什么容器比较合适呢? 写一个程序,之前用vector。。慢死我了。。。 现在改用了ArrayList貌似快了很多,但是还是觉得不够快呃。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RouShan007
2012-06-05
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
我就是这样想的阿。。。我是学JAVA一个月的快乐小菜鸟。见谅。。
[/Quote]
了解了~~~~我去试试~
现在又要去看数据集过大的问题了QAQ
头痛><
结帖啦~
无名之辈
2012-06-05
打赏
举报
回复
我就是这样想的阿。。。我是学JAVA一个月的快乐小菜鸟。见谅。。
sai123q
2012-06-05
打赏
举报
回复
之后的排序可以把hashmap转为ArrayList<Entry<String,Integer>> list
再用Collections.sort(list ,new Comparator<Entry<String,Integer>>(){......});进行排序
无名之辈
2012-06-05
打赏
举报
回复
转还成ArrayList<Entry<>> 用collections.sort 试试?
RouShan007
2012-06-05
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
回复3楼:
是这样的,我要查找的是一个string-int对,其中string没有重复的,根据string的值来找出这个string-int对,,
本来是用的hashmap<String,int>,但是我在查找完之后还需要根据int的值对整个集合进行排序,,
然后就找不到好的方法了。。。><只好舍弃hashmap改用别的。。。请问介个还有什么效率比较高的方法么,,?
不知道我问题说……
[/Quote]
这个要是想根据value来进行排序就不行了吧?
无名之辈
2012-06-05
打赏
举报
回复
回复3楼:
是这样的,我要查找的是一个string-int对,其中string没有重复的,根据string的值来找出这个string-int对,,
本来是用的hashmap<String,int>,但是我在查找完之后还需要根据int的值对整个集合进行排序,,
然后就找不到好的方法了。。。><只好舍弃hashmap改用别的。。。请问介个还有什么效率比较高的方法么,,?
不知道我问题说清楚了没。。。求解~
Map<String, Integer> users = new HashMap<String, Integer>();
users.put("小白", 1);
users.put("小黑", 3);
users.put("小明", 2);
users.put("小红", 4);
Set<Entry<String, Integer>> entrySet = users.entrySet();
System.out.println("Entry Set"+entrySet);
//用value迭代
int sum = 0;
for(Iterator<Integer> i = users.values().iterator();i.hasNext();){
int n = i.next();
sum+=n;
}
System.out.println("value的总和是:"+sum);
这个你去体一下。看看行不性。。
RouShan007
2012-06-05
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
1 jdk提供的集合类中遍历最快的应该就是ArrayList,vector是线程安全的,所以慢
2 yes(jdk提供的集合类中)
3 查找并定位,用hashmap可以,不过要增大内存开销(空间换时间),也就是put(key, value),key和value是相同的,这样 get(key)就可以得到value了
[/Quote]
是这样的,我要查找的是一个string-int对,其中string没有重复的,根据string的值来找出这个string-int对,,
本来是用的hashmap<String,int>,但是我在查找完之后还需要根据int的值对整个集合进行排序,,
然后就找不到好的方法了。。。><只好舍弃hashmap改用别的。。。请问介个还有什么效率比较高的方法么,,?
不知道我问题说清楚了没。。。求解~
ning5566
2012-06-05
打赏
举报
回复
阿宝永远是对的。。
qybao
2012-06-05
打赏
举报
回复
1 jdk提供的集合类中遍历最快的应该就是ArrayList,vector是线程安全的,所以慢
2 yes(jdk提供的集合类中)
3 查找并定位,用hashmap可以,不过要增大内存开销(空间换时间),也就是put(key, value),key和value是相同的,这样 get(key)就可以得到value了
【
Java
容器
源码】关于 HashMap 的
几个
问题
本文详细解析了HashMap的底层结构、解决hash冲突的方法、扩容机制、hash冲突处理策略、红黑树与链表之间的转换条件等核心内容,并介绍了如何使用HashMap的一些实用技巧。
容器
(docker)中运行
java
需关注的
几个
小
问题
本文探讨了
Java
应用在
容器
环境下如何感知并适配资源限制,特别是CPU和内存的限制。针对不同
Java
版本,提供了调整策略以确保资源的有效利用。
【
Java
容器
源码】关于 ArrayList 的
几个
问题
本文详细解析了ArrayList的内部结构、扩容机制及删除操作,并对比了LinkedList的特点,同时探讨了线程安全
问题
。
Java
容器
--同步
容器
和并发
容器
本文介绍了
Java
中同步
容器
如Vector、Stack和HashTable的特点,以及Collections类如何创建线程安全
容器
。同时,讨论了同步
容器
的性能
问题
和安全缺陷,并引出并发
容器
的概念,重点列举了juc包中的
几个
重要并发
容器
及其特性。,
java
常见
问题
本文解答了
Java
开发者在使用Spring框架过程中常见的
几个
问题
,包括使用
Java
8时出现的错误、依赖注入的最佳实践、Struts 2的Action命名规则以及Web
容器
启动时web.xml的配置解析。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章