链接
一. ArrayList vs LinkedList
ArrayList 和 LinkedList 都是集合类,它们可以包含相同类型的多个对象。
它们都实现了 List 接口,因此它们有相同的方法,可以用来添加、修改、删除和清空列表中的元素。
尽管 ArrayList 和 LinkedList 的使用方式相似,但它们的内部实现方式有很大的不同。
1. ArrayList 的工作原理:
ArrayList 内部使用一个常规的数组来存储元素。当一个元素被添加到列表中时,它会被放入数组中。如果数组空间不足,ArrayList 会创建一个新的、更大的数组,替换旧的数组,并将旧数组中的元素复制到新的数组中。
2. LinkedList 的工作原理
LinkedList 将每个元素存储在一个称为“容器”的节点中。该列表包含指向第一个容器的链接,每个容器都包含指向下一个容器的链接。向 LinkedList 中添加元素时,新元素会被放入一个新的容器中,这个容器会与列表中的其他容器通过链接关系连接起来
二. 实用方法
方法 | 描述 |
---|---|
addFirst() | 将一个元素添加到列表的开头 |
addLast() | 将一个元素添加到列表的末尾 |
removeFirst() | 从列表的开头移除一个元素 |
removeLast() | 从列表的末尾移除一个元素 |
getFirst() | 获取列表开头的元素 |
getLast() | 获取列表末尾的元素 |
1. 示例:前四个方法
1 | import java.util.LinkedList; // 导入LinkedList类 |
2. 示例:最后两个方法
1 | import java.util.LinkedList; |