时间:2010-07-25 11:40:42

标签: java performance hashset

9 个答案:

答案 0 :(得分:10)

答案 1 :(得分:4)

答案 2 :(得分:2)

答案 3 :(得分:2)

答案 4 :(得分:1)

答案 5 :(得分:1)

答案 6 :(得分:0)

答案 7 :(得分:0)

答案 8 :(得分:0)

我非常失望地告诉OP在他的应用程序中增加堆大小的答案数量。这不是一个解决方案 - 这是一个快速而肮脏的补丁,它不会解决任何潜在的问题。

我发现此演示文稿非常有用: http://www.cs.virginia.edu/kim/publicity/pldi09tutorials/memory-efficient-java-tutorial.pdf

主要是列出每个空的最小字节大小的页面 -

ArrayList: 40 or 48
LinkedList: 48
HashMap: 56 or 120
HashSet: 72 or 136

事实证明,HashSet实际上是一个HashMap,并且(违反直觉)占用更多内存,尽管只保留值而不是键值对。