前言
说真的,在 Java 使用最多的集合类中,List 绝对占有一席之地的,它和 Map 一样适用于很多场景,非常方便我们的日常开发,毕竟存储一个列表的需求随处可见。尽管如此,还是有很多同学没有弄明白 List 中 ArrayList 和 LinkedList 有什么区别,这简直太遗憾了,这两者其实都是数据结构中的基础内容,这篇文章会从基础概念开始,分析两者在 Java 中的具体源码实现,寻找两者的不同之处,最后思考它们使用时的注意事项。
这篇文章会包含以下内容。
- 介绍线性表的概念,详细介绍线性表中数组和链表的数据结构。
- 进行 ArrayList 的源码分析,比如存储结构、扩容机制、数据新增、数据获取等。
- 进行 LinkedList 的源码分析,比如它的存储结构、数据插入、数据查询、数据删除和 LinkedList 作为队列的使用方式等。
- 进行 ArrayList 和 LinkedList 的总结。
Java核心架构笔记大致如下
0~1年:
- Java基础(基本语法、面向对象、继承、多态、接口和抽象类、异常、内部类、集合、泛型、反射、I/O等)
- Web编程(Servlet+MySQL数据库+商品管理系统实战)
- SSM框架入门到精通