【发布时间】:2023-03-08 15:00:01
【问题描述】:
我必须替换 ArrayList 中的一个元素。
哪个更快——使用remove() 和add() 还是获取所需的项目索引并使用set(int, E)?
如果你知道一些类似主题的书,请给我一些建议。
【问题讨论】:
-
数组没有这些操作。在数组列表中
set很可能是最快的,因为除了引用新对象之外不需要调整大小或节点操作。 -
set(int,E) 我猜更好,因为它直接替换了元素
-
只是想知道:你做了一些分析,你确定你真的需要担心这些微妙之处吗?
-
@GhostCat 这不是一个微妙之处。
-
就像一个想法,如果你必须经常这样做,LinkedList 会更快地替换元素。但是查找特定元素的速度较慢
标签: java performance object arraylist