一、栈
栈有两种实现方式,一种是java自带的Stack类,另一种是可以直接将LinkedList作为栈来使用
1、Stack类
Stack类继承自Vector,是由数据实现的,这意味着Stack实现的栈是数组而非链表。
1 Vector<Integer> stack = new Stack<Integer>();
2、通过LinkedList直接作为栈使用
LinkedList实现不同的接口可以实现不同的数据结构
1 Deque<Integer> stack = new LinkedList<Integer>();//LinkedList实现Deque接口,可以作为双端队列使用 2 Queue<Integer> queue = new LinkedList<Integer>();//LinkedList实现Queue接口,可以作为队列使用
LinkedList作为双端队列时,可以直接用作栈
1 Deque<Integer> stack = new LinkedList<Integer>(); 2 stack.isEmpty(); 3 stack.push(1); 4 stack.pop(); 5 stack.peek();
二、队列
Queue<Integer> queue = new LinkedList<Integer>();//LinkedList实现Queue接口,可以作为队列使用