1
我在Github上经历了许多代码库,几乎在任何地方我都找到了一个使用数组而不是列表的常见模式。Raw数组vs vs集合
例如:
Class Attributes {
...
...
Attribute[] attribute;
...
...
}
所以在这里我的问题是,为什么这些项目大部分都是使用原始阵列,而不是收藏? 下面的代码仍然是相同的功能明智的,使用数组需要重写大部分代码来处理数组的扩展。
Class Attributes {
...
...
List<Attribute> attribute;
...
...
}
编辑1:经过大量搜索后,我发现数组的内存占用比集合低。所以现在问题出现了,为什么是这样呢?
那么,显而易见的答案似乎是因为内部他们使用了很多其他变量来维护状态并做了很多其他的事情。 但是这不是必需的,我的意思是如果我们想要存储数字并且数组的大小可以增加或减少,我们就必须实现这些方法。
阵列非常紧凑并且占用内存很小 – Lino
https://stackoverflow.com/a/6105705/2686502 – jayeshsolanki93
什么是“大部分这些项目”?我倾向于指出集合比数组更经常使用。除此之外,你在某种情况下使用任何看起来合适的东西。我们怎么知道为什么使用这个或那个? – Seelenvirtuose