java - 在Java中,数组相对于Arraylist有什么优势?

标签 java arrays arraylist

我正在学习 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/

相关文章:

java - 如何使JMX加密密码验证工作?

c - C 中的质数到数组中

java - 如何在JAVA中查找ArrayList中最少和最常见的名称

java - 使用 arrayList 对行进行排序

java - 如何将文本颜色设置为 TextArea 中的特定字符串?

java - 如何安装android studio?

javascript - 将数组项的每个新字谜拆分为新行

java - 从内部存储读取字符串数组

java - 如何管理/列出我的对象?

java - 如何将行号添加到员工循环变量?