栈 是一种具有[先进后出]特点的抽象数据结构,可使用数组或者链表来实现。
Stack<Integer> stack = new Stack<>();
如下图所示,通过常用的操作[入栈 push()],[出栈 pop()],展示了栈的先入后出的特性。
stack.push(1);//元素1入栈
stack.push(2);//元素2入栈
stack.pop();//元素出栈 -> 元素2
stack.pop();//元素出栈 -> 元素1
注意:通常情况下,不推荐使用 Java 的 Vector 以及其子类 Stack ,而一般将 LinkedList 作为栈来使用。详细说明请见:Stack,ArrayDeque,LinkedList 的区别。
LinkedList<Integer> stack = new LinkedList<>();
stack.addLast(1); // 元素 1 入栈
stack.addLast(2); // 元素 2 入栈
stack.removeLast(); // 出栈 -> 元素 2
stack.removeLast(); // 出栈 -> 元素 1
频繁的插入、删除操作:LinkedList