0

我有一个不占用大量内存的 ArrayList,它只存储两个字段,

 public class ExampleObject{

 private String string;
 private Integer integer;

 public ExampleObject(String stringInbound, Integer integerInbound){
 string = stringInbound;
 integer = integerInbound;
 }

我将用这些对象填充一个 ArrayList

  ArrayList<ExampleObject> = new ArrayList<ExampleObject>();

对于原始的硬核性能,为此使用哈希集会更好吗?如果我的 ArrayList 增长到具有数百个索引的大量项目,我会注意到对象的 ArrayList 和哈希集之间存在巨大差异吗?

4

2 回答 2

3

尽管它们都是Collection,但我建议您阅读SetList之间的区别。

它们的用途不同。因此,在考虑性能之前,请选择满足您的实施要求的那个。

于 2013-01-29T12:28:03.217 回答
1

这完全取决于你在做什么。数据是如何添加的?它是如何访问的?多久移除一次?

例如,在某些情况下,使用String[]and的并行数组可能会更好int[]——您可以避免集合类开销和intto的装箱Integer。取决于你在做什么,这可能真的很棒或非常愚蠢。

随着数据集变大,内存消耗会对性能产生很大影响。几年前,IBM 的几位研究人员做了一个关于构建内存高效的 Java 应用程序的简洁演示,每个关注性能的人都应该阅读。

于 2013-01-29T19:19:13.897 回答