java - 为什么在 Java 中更喜欢使用列表而不是数组?

标签 java arrays list arraylist data-structures

许多人和作者建议我们使用列表而不是数组。

List <Integer> list = new ArrayList<Integer>();
list.addElement(1);
....

这背后的原因是什么?

最佳答案

您通常应该更愿意为工作选择正确的数据结构。您需要了解手头的任务以及您拥有的所有不同选项,以及它们在迭代、搜索、添加、删除和插入数据方面的比较方式。通常,您需要了解数据结构如何访问和操作内存,并根据您对应用程序的预期使用方式选择最佳数据结构。

显然,它并不总是明确的。但是你可以理解不同数据结构的理想。

例如,纯静态、固定长度的数据非常适合数组,您只需在其中迭代,无需搜索。在密码算法中使用此类数组很常见。如果数据是静态的但不是迭代,您需要搜索,您可能需要某种类型的树结构。如果您想要快速插入,散列可能是理想的选择。如果数据经常更改,您需要一个能够高效更改其大小的结构,例如列表。

当然,有许多数据结构的变体和组合旨在解决各种特定问题。之所以有这么多,是因为它们在编写高效程序方面发挥着重要作用。无论如何,我的观点是,了解数据结构。了解每种情况的理想情况,然后您将能够为任何任务决定或设计合适的数据结构。

关于java - 为什么在 Java 中更喜欢使用列表而不是数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391553/

相关文章:

c - 将 BST 传递给结构数组

python - 如何从长度为 n 的数组中生成 key

python - 计算列表中某个元素的出现次数

java - Hadoop 文档

java - 使用 SimpleDateFormat 将字符串转换为日期

Javascript将元素插入循环内,不会影响循环外的数组

r - 为什么列表标签按字面意思使用标签名称,如何防止这种情况发生?

java - Android Twilio 如何使用这些示例类?

java - 根据重力移动 ImageView?

c++ - 如何到达二维对象动态数组的字段?