java - Arraylist.remove(index) 方法的效率?

标签 java arraylist

我正在使用 arrayList.remove(index) 函数。我想从数组中删除 40320 个元素,在我的程序执行中将执行 9 次。这需要很多时间。这导致我的程序执行速度很慢。有什么有效的方法可以做到这一点吗?

最佳答案

如果必须使用 ArrayList,则每次删除操作的效率为 O(n),因为每次删除元素时都必须调整列表大小。如果您可以对列表进行线性访问,那么我建议您使用 LinkedList 数据结构。但请注意,这会增加查找时间。

如果您不会迭代元素并且只需要知道元素是否存在,那么 HashSet 应该这样做。

关于java - Arraylist.remove(index) 方法的效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29272117/

相关文章:

java - 从绝对路径加载类

java - 是否可以通过编程方式关闭 Android 设备上的 USB 存储?

java - AutoCloseable.close()方法是否违反了Java的向后兼容性规则

Java 错误 - 找不到符号 - 变量是

java - ArrayList语法错误

java - 数字排序程序无法找到符号编译错误

java - 使用 ArrayList 中的数据填充 Android ListView 是将每个项目设置为与第一个项目相同

java - DateTimeFormatter - java.lang.IllegalArgumentException : Too many pattern letters: a

java - 找出读入数据的正确方法

java - 无法迭代传递给方法的列表