java - 当数组足够时使用 Java List

标签 java arrays list collections

如果您事先知道列表的大小并且您也可以在那里使用数组,那么是否建议使用 Java Collections List?有任何性能缺陷吗?

列表是否可以像数组一样用单个语句中的元素初始化(所有元素的列表用逗号分隔)?

最佳答案

Is it advisable to use Java Collections List in the cases when you know the size of the list before hand and you can also use array there ?

在某些(可能是大多数)情况下是的,绝对建议使用集合,但在某些情况下则不可取。

在专业方面:

  • 如果您使用 List 而不是数组,您的代码可以使用 containsinsertremove 等方法。
  • 许多库类都需要集合类型的参数。
  • 您不必担心代码的下一个版本可能需要一个大小更动态的数组……这会使基于数组的初始方法成为一种负担。

不利的一面:

  • 集合有点慢,如果数组的基类型是基本类型,则更慢。
  • 集合确实占用更多内存,尤其是当数组的基类型是基本类型时。

但性能很少是一个关键问题,在许多情况下,性能差异与全局无关。

在实践中,计算数组的大小通常会涉及性能和/或代码复杂性方面的成本。 (考虑您使用 char[] 来保存一系列串联的假设情况。您可以计算出数组需要多大;例如,通过将组件字符串大小。但它很乱!)

关于java - 当数组足够时使用 Java List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002462/

相关文章:

arrays - 如何获取 MongoDB 聚合管道中不在另一个数组中的数组元素?

java - 如果成员变量关闭,如何在不将类型从 void 更改为 boolean 的情况下显示 true?

javascript - 从未知数量的多个数组创建一个列表

c++ - 使用字符串长度的数组大小

java - 有没有一种简单的方法可以将迭代器复制到 Java 列表中?

python - 在Python中将列表转换为字典

java - Spring Boot 接口(interface)存储库

java - 为什么不执行静态 block

java - Netbeans GUI 中的 Swing 计时器

android - 如何创建下拉列表?