如果您事先知道列表的大小并且您也可以在那里使用数组,那么是否建议使用 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 而不是数组,您的代码可以使用
contains
、insert
、remove
等方法。 - 许多库类都需要集合类型的参数。
- 您不必担心代码的下一个版本可能需要一个大小更动态的数组……这会使基于数组的初始方法成为一种负担。
不利的一面:
- 集合有点慢,如果数组的基类型是基本类型,则更慢。
- 集合确实占用更多内存,尤其是当数组的基类型是基本类型时。
但性能很少是一个关键问题,在许多情况下,性能差异与全局无关。
在实践中,计算数组的大小通常会涉及性能和/或代码复杂性方面的成本。 (考虑您使用 char[]
来保存一系列串联的假设情况。您可以计算出数组需要多大;例如,通过将组件字符串大小。但它很乱!)
关于java - 当数组足够时使用 Java List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002462/