LinkedList有索引 为什么查找还会慢

LinkedList根据索引查找为什么慢_alexdedream的博客-CSDN博客
LinkedList有索引 为什么查找还会慢

这是因为该索引非彼索引
查看源码可以知道 LinkedList根据索引进行的操作都是,每一次for循环增加一次索引变量,然后返回item,不断循环下找到数据
而非真的根据索引直接找到对应元素。
假如集合size=100,要取index=40的元素,根据源码,100>>1=50,40<50,需要从前往后循环,循环40遍取出node.item.
如果正好取中间那位或者排后面的,则从后往前循环,直到找到该元素,所以LinkedList查找数据很慢,核心原因是用了循环去寻找数据。

上一篇:2021年8月11日


下一篇:为什么创建集合对象时用List<String> list = new ArrayList<String>()而不是用ArrayList<Object> list = new ArrayList<>()