1. List简介
List是Java中的一种数据结构。
Collection的接口如下图所示。其中List的接口有ArrayList和LinkedList,分别表示顺序表和链表。
2. LinkedList
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
链表可分为单向链表和双向链表。
基础操作
- 创建链表
// 引入 LinkedList 类
import java.util.LinkedList;
LinkedList<E> list = new LinkedList<E>(); // 普通创建方法
// 或者
LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合创建链表
- 添加元素
// 在列表开头添加元素
list.add();
// 在列表尾添加元素
list.addLast()
- 删除元素
// 移除头部元素
list.removeFirst()
// 移除尾部元素
list.removeLast()
- 获取元素
// 获取头部元素
list.getFirst()
// 获取尾部元素
list.getLast()
- 获取链表元素数量
// 获取链表元素数量
list.size()
3. ArrayList
ArrayList 是一个可以动态修改的数组,它的大小不是固定的,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。
基础操作
- 创建顺序表
import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName =new ArrayList<>(); // 初始化
- 增
list.add();
- 删
// 删除第一个元素
list.remove(0);
- 改
// 修改第二个元素
list.set(1,'改成这个字符串');
- 查
// 返回第三个元素
list.get(2);
- 获取ArrayList中的元素数量
// 返回元素数量
list.size();
- 获取ArrayList中的元素数量
// 排序
Collections.sort(list);
其他操作
- 将链表转为一维数组
toArray(T[] a)
list.toArray(new String[0])
- 将链表转为二维数组
toArray(T[] a)
list.toArray(new int[0][]);
4. Arrays
- 给一维数组排序
Arrays.sort()
- 给二维数组排序
Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0]);
版权声明:本文为weixin_43972154原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。