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



