数组比数组列表快吗?
2022-09-03 04:10:20
我的直觉是数组比 arraylist 更快,因为 arraylist 是使用数组实现的,这些数组会在填充/丢失元素时调整大小。
我只是想确认这是否属实,这意味着如果你知道要保存的元素数量,就永远没有理由使用数组列表。
我的直觉是数组比 arraylist 更快,因为 arraylist 是使用数组实现的,这些数组会在填充/丢失元素时调整大小。
我只是想确认这是否属实,这意味着如果你知道要保存的元素数量,就永远没有理由使用数组列表。
任何性能差异都可以忽略不计,尤其是在使用初始容量
初始化数组列表时。以任何使其最具可读性和可维护性的方式编写代码,并尽量不要优化此类内容,除非您通过测试确定您正在从中获得显着的性能损失。
使用的潜在原因:ArrayList
contains
Iterable
Collection
List
ArrayList为您提供了原始数组所没有的许多功能。如果您知道元素的数量,则可以创建该大小的 ArrayList。
new ArrayList<String>(100);
如果您担心ArrayList和数组之间的速度差异,那么您担心的是错误的事情。它不太可能成为代码中的瓶颈。如果是这样,几乎肯定有比更改为数组更好的答案。
不要屈服于过早的优化。它会对你的代码造成严重破坏。大多数事情并不重要,只有少数事情可以。您只能通过分析代码来找到这几件事。试图让每个部分都快是一种非常无效的使整个快速的方法。保持干净,简单的设计更有效。这将为您提供必要的接缝,以便在实际需要的一两个地方引入优化。