我在Github上经历了很多代码库,几乎在任何地方我都找到了一个使用Arrays而不是Lists的常用模式。
示例:
Class Attributes {
...
...
Attribute[] attribute;
...
...
}
所以我的问题是,为什么大多数这些项目都使用原始数组而不是集合? 下面的代码仍然是相同的功能,使用数组需要重写大部分代码来处理数组的扩展。
Class Attributes {
...
...
List<Attribute> attribute;
...
...
}
编辑1:经过大量搜索后,我发现阵列的内存占用量低于集合。所以现在问题出现了,为什么会这样?
嗯,显而易见的答案似乎是因为内部他们使用了很多其他变量来维持状态并做了很多其他事情。 但是不管怎么说,我的意思是,如果我们想要存储数字并且数组的大小可以增加或减少减少,我们还是必须实现这些方法。
答案 0 :(得分:1)
我不知道您的来源,但我非常确定集合的使用频率高于数组,因为它们提供了动态结构。然而,使用数组也有充分的理由;
- 如果内存有限,使用数组是更好的选择。
- 如果你的程序有严格的截止日期,使用数组是一个更好的选择。
- 如果你知道在程序中使用的元素数量,使用数组是一个更好的选择。
简而言之,如果您需要性能,或者资源有限,请使用数组。如果您需要功能,请使用集合。