List特有方法

经典多态写法
// 经典的多态写法
List<String> list = new ArrayList<>();
常用API:增删改查
// 添加元素
list.add("Java");
// 添加元素到指定位置
list.add(0, "Python");// 获取元素
String s = list.get(0);// 修改元素
list.set(0, "C++");// 删除元素
list.remove(0);
ArrayList底层原理


什么是链表

 
LinkedList
LinkedList是基于
双向链表实现的

因为LinkedList能够快速定位
首尾元素,所以他有很多关于首尾的方法

适用场景一:设计队列

//  适用LinkedList实现队列
LinkedList<String> linkedList = new LinkedList<>();
// 入队
linkedList.add("Java");
linkedList.add("Python");
// 出队
String first = linkedList.removeFirst();
System.out.println(linkedList);
实现场景2:设计栈

// 使用LinkedList实现栈
LinkedList<String> stack = new LinkedList<>();
// 入栈
stack.push("Java");
stack.push("Python");
// 出栈
String pop = stack.pop();
System.out.println(stack);