为什么在Java中首选使用列表而不是数组?
问题内容:
许多人和作者建议我们使用列表而不是数组。
List <Integer> list = new ArrayList<Integer>();
list.addElement(1);
....
它背后的原因是什么?
问题答案:
通常,您应该更喜欢为工作选择正确的数据结构。您需要了解手头的任务以及所有不同的选项,以及它们如何在迭代,搜索,添加,删除和插入数据方面进行比较。通常,您需要了解数据结构如何访问和操作内存,并根据对应用程序的预期使用来选择最佳的数据结构。
显然,它并不总是很明确。但是您可以了解不同数据结构的理想选择。
例如,纯静态,固定长度的数据非常适合数组,您只需在其中进行迭代即可,而无需进行搜索。通常在密码算法中使用此类数组。如果数据是静态的,而不是进行迭代,则需要搜索,您可能需要某种类型的树结构。如果要快速插入,则散列可能是理想的选择。如果数据经常更改,则需要一种可以有效更改其大小的结构,例如列表。
当然,数据结构有许多变体和组合,旨在解决各种特定问题。之所以这么多,是因为它们在编写高效程序中发挥着重要作用。无论如何,我的观点是了解数据结构。了解每种情况的理想情况,然后就可以为任何任务决定或设计合适的数据结构。