我正在学习 Java 的书是这样描述 Arraylists 的:
“ArrayList 根据程序的需要收缩和增长,而数组则有 创建数组时设置的固定长度。
在 ArrayList 列表中,最后一个槽始终是 list.size()-1,而在部分列表中 填充数组,你,程序员,必须跟踪当前的最后一个槽 使用中。
对于ArrayList,只需一条语句即可进行插入或删除。 任何元素的移动都会自动处理。然而,在数组中,插入 或删除需要您编写移动元素的代码。”
而数组则没有这些东西。我目前无法想到使用数组而不是 Arraylist 的任何理由。数组方法比 Arraylist 方法运行得更快吗?它们使用的内存是否比 Arraylists 少?
最佳答案
- 数组有更好的内置语法;你可以只使用
[]
而不是.get
和.set
. - 数组可以与基元一起正常工作,无需装箱开销;例如你可以有一个
int[]
但不是ArrayList<int>
. - 数组稍微快一点,是的。不过,自从
ArrayList
以来,差距不大。只是内部阵列上非常薄的一层。
一般来说,除了基元之外,我很少使用数组。
关于java - 在Java中,数组相对于Arraylist有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35924836/