此处可直接查看这位作者写的很齐全了(我也是从这里回忆总结的):
--------------------
以下为个人用于梳理的总结:
集合不同实现类区分
(以始为终)目的:集合区分只为使用,所以通过使用方式进行区别。
(记忆)最重要的是:一般只用ArrayList,因为优点多。而LinkedList的作者都不用Linkedlist(当加强记忆就好哈哈哈)
(他人业务场景使用-参考) ArrayList的业务场景使用考量_arraylist在项目中的使用场景_zhongh Jim的博客-CSDN博客
(个人业务场景使用-待改进): 一般涉及可重复的元素,会直接用ArrayList,没有特别注意。
共同点:
①都是集合体系
②线程都不安全(抄答案)
不同点:
①【到什么代码书写层度要开始考虑代码的空间复杂度?】空间复杂度。例如add、remove、关于收尾操作的效率不一。
②底层(数据)结构不一样。
③很重要一点,arraylist底层数组是固定内存10个,而linkedlist是扩容的。这会影响到占用内存大小。
④快速随机访问(抄答案)
⑤内存空间占用(抄答案)
优点
缺点