ArrayList 重拳出击,把 LinkedList 干翻在地

Posted 沉默王二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList 重拳出击,把 LinkedList 干翻在地相关的知识,希望对你有一定的参考价值。

大家好,我是二哥呀。

这是《Java 程序员进阶之路》专栏的第 60 篇,我们来聊聊 ArrayList 和 LinkedList 之间的区别。大家可以到 GitHub 上给二哥一个 star,马上破 400 星标了。

https://github.com/itwanger/toBeBetterJavaer

如果再有人给你说 “ArrayList 底层是数组,查询快、增删慢;LinkedList 底层是链表,查询慢、增删快”,你可以让他滚了!

这是一个极其不负责任的总结,关键是你会在很多地方看到这样的结论。

害,我一开始学 Java 的时候,也问过一个大佬,“ArrayList 和 LinkedList 有什么区别?”他就把“ArrayList 底层是数组,查询快、增删慢;LinkedList 底层是链表,查询慢、增删快”甩给我了,当时觉得,大佬好牛逼啊!

后来我研究了 ArrayList 和 LinkedList 的源码,发现还真的是,前者是数组,后者是 LinkedList,于是我对大佬更加佩服了!

直到后来,我亲自跑程序验证了一遍,才发现大佬的结论太草率了!根本就不是这么回事!

先来给大家普及一个概念——时间复杂度

在计算机科学中,算法的时间复杂度&

以上是关于ArrayList 重拳出击,把 LinkedList 干翻在地的主要内容,如果未能解决你的问题,请参考以下文章

算法简单题,吾辈重拳出击 - 连续子数组的最大和

重拳出击,整治 “推荐算法” !

算法leetcode|39. 组合总和(rust重拳出击)

微软重拳出击:盗版 Windows 将无处遁形!

微软重拳出击:盗版 Windows 将无处遁形!

算法leetcode|32. 最长有效括号(rust重拳出击)