Java数据结构---List(链表、顺序表的定义及其基本操作)

文章目录

  • 1. List简介
  • 2. LinkedList
    • 基础操作
  • 3. ArrayList
    • 基础操作
    • 其他操作
  • 4. Arrays

1. List简介

List是Java中的一种数据结构。
Collection的接口如下图所示。其中List的接口有ArrayList和LinkedList,分别表示顺序表和链表。
Java数据结构---List(链表、顺序表的定义及其基本操作)_第1张图片

2. LinkedList

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
链表可分为单向链表和双向链表。
Java数据结构---List(链表、顺序表的定义及其基本操作)_第2张图片

基础操作

  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 接口。
Java数据结构---List(链表、顺序表的定义及其基本操作)_第3张图片

基础操作

  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])

你可能感兴趣的:(数据结构与算法,java,leetcode,算法)