1. List简介

List是Java中的一种数据结构。
Collection的接口如下图所示。其中List的接口有ArrayList和LinkedList,分别表示顺序表和链表。
在这里插入图片描述

2. LinkedList

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
链表可分为单向链表和双向链表。
在这里插入图片描述

基础操作

  1. 创建链表
// 引入 LinkedList 类
import java.util.LinkedList; 

LinkedList<E> list = new LinkedList<E>();   // 普通创建方法
// 或者
LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合创建链表
  1. 添加元素
// 在列表开头添加元素
list.add();
// 在列表尾添加元素
list.addLast()
  1. 删除元素
// 移除头部元素
list.removeFirst()
// 移除尾部元素
list.removeLast()
  1. 获取元素
// 获取头部元素
list.getFirst()
// 获取尾部元素
list.getLast()
  1. 获取链表元素数量
// 获取链表元素数量
list.size()

3. ArrayList

ArrayList 是一个可以动态修改的数组,它的大小不是固定的,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。
在这里插入图片描述

基础操作

  1. 创建顺序表
import java.util.ArrayList; // 引入 ArrayList 类

ArrayList<E> objectName =new ArrayList<>();  // 初始化
list.add();
// 删除第一个元素
list.remove(0);
// 修改第二个元素
list.set(1'改成这个字符串');
// 返回第三个元素
list.get(2);
  1. 获取ArrayList中的元素数量
// 返回元素数量
list.size();
  1. 获取ArrayList中的元素数量
// 排序
Collections.sort(list);

其他操作

  1. 将链表转为一维数组 toArray(T[] a)
list.toArray(new String[0])
  1. 将链表转为二维数组 toArray(T[] a)
list.toArray(new int[0][]);

4. Arrays

  1. 给一维数组排序
Arrays.sort()
  1. 给二维数组排序
Arrays.sort(intervals, (v1, v2) -> v1[0] - v2[0])
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐