一、棧
棧有兩種實現方式,一種是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接口,可以作為隊列使用