LinkedList底层数据结构是双链表,查询慢,首尾操作的速度是极快的,所以多了很多首尾操作的API
LInkList可以完成队列结构,和栈结构(双链表)
public class Stack {
public static void main(String[] args) {
// 栈后入先出
LinkedList<String> stack=new LinkedList<>();
stack.addFirst("第一颗子弹"); //压栈
stack.addFirst("第二颗子弹");
stack.addFirst("第三颗子弹");
stack.addFirst("第四颗子弹");
System.out.println(stack);
//输出[第四颗子弹, 第三颗子弹, 第二颗子弹, 第一颗子弹]
//发射子弹
System.out.println(stack.removeFirst()); //第一次发射 弹栈
System.out.println(stack);
//输出[第三颗子弹, 第二颗子弹, 第一颗子弹]
}
}
可以用Push和pop代码都是一样的这个是源码,就是走个形式
public void push(E e) {//压栈
addFirst(e);
}
public E pop() {//弹栈
return removeFirst();
}