LinkedList

Java 链表 LinkedList。 LinkedList 实现了 List 接口, 也实现了 Queue 接口, 也就是说 Java 内置的 LinkedList 既可以当作 List 来用, 也可以当作 Queue 来用。

LinkedList 用作 List

List 的创建: List<数据类型> 变量名 = new LinkedList<>();

Java 中的链表特性通常不会直接暴露给用户, 而是通过 List 这个接口来对外展示的, 所以创建链表时使用List 打头,new 的时候才展现出这个 List 底层是由 LinkedList 实现的。

List<Integer> ls=new LinkedList<>();

链表常用的方法有 add, set, remove, contains, isEmpty, size 等

List<Integer> ls=new LinkedList<>();

ls.add(2);
ls.add(3);
ls.add(4);
ls.add(0,1);

System.out.println(ls);//[1, 2, 3, 4]

System.out.println(ls.get(0));// 1

ls.set(0,-1);
System.out.println(ls);//[-1, 2, 3, 4]

ls.remove(3);
System.out.println(ls);//[-1, 2, 3]

if (ls.contains(3)){
    System.out.println("链表含有 3");
}

if (ls.isEmpty()){
    System.out.println("链表含为空");
}else {
    System.out.println("链表不为空");
}

System.out.println("链表长度: "+ls.size());

LinkedList 用作 Queue

LinkedList 的创建: List<数据类型> 变量名 = new LinkedList<>();

Java 中的链表特性通常不会直接暴露给用户, 而是通过 Queue 这个接口来对外展示的, 所以创建链表时使用Queue打头,new 的时候才展现出这个Queue 底层是由 LinkedList 实现的。

用作 Queue 常用方法有 add,peek, poll, contains, isEmpty, size 等

Queue<Integer> queue =new LinkedList<>();
queue.add(1);
queue.add(2);
queue.add(3);

System.out.println(queue);// 输出  [1, 2, 3]

//获取队首
System.out.println(queue.peek());//输出 1

//取出队首
System.out.println(queue.poll());//输出 1
 
if (queue.contains(3)){
    System.out.println("队列含有 3");//输出 队列含有 3
}

if (queue.isEmpty()){
    System.out.println("队列为空");
 }else {
     System.out.println("队列不为空");//输出 队列不为空
 }

System.out.println("队列长度: "+queue.size());//输出 队列长度: 2

更多关于 LinkedList 的 API 可以访问 Java 官方文档

关于LinkedList 底层实现细节, 可以访问我的 github 仓库

Last updated

Was this helpful?