1
Vamposine 2018 年 12 月 26 日 via iPhone 这不是基础么,指定位置必须是 arraylist 效率高
|
2
feiyuanqiu 2018 年 12 月 26 日
contains ?复杂度是一样的。它们的差异在 java.util.List#get 和 java.util.List#add(int, E)
|
3
insomnia1232 2018 年 12 月 26 日
遍历查找的话 没啥区别
|
4
V2exUser 2018 年 12 月 26 日 via Android 查找的话,底层是数组的效率高,因为内存区是连续的。
|
5
exonuclease 2018 年 12 月 26 日
都是 O(n)吧 如果不是排好序的
|
6
jmc891205 2018 年 12 月 26 日
无序的话是同样的时间复杂度
有序的话是 ArrayList 好 |
7
kiddult 2018 年 12 月 26 日
不管什么情况都是 ArrayList,ArrayList 占内存连续便宜,CPU 缓存比较吃香
|
8
mrsatangel 2018 年 12 月 26 日
ArrayList 的 cache locality 更好
|
9
rockss OP 补充一下,是查找指定的元素(不是通过下标)
所以看起来 ArrayList 还是有一定的优势的(不过在时间复杂度分析上,应该没多大区别了) |
10
zhix 2018 年 12 月 27 日
因为 Cache Line 的存在,所以严格来说 ArrayList 的遍历速度更快一些。
|