目录

chen 的个人博客

VX:ZzzChChen
Phone:13403656751
Email:zxydczzs@gmail.com

X

Stack && LinkedList

栈是一种具有[先入后出]特点的抽象数据结构,可以使用数组或链表实现。

1Stack<Integer> stack = new Stack<>();
我们知道 Java 是不推荐使用 Vector 以及它的子类 Stack 的,因为有更好的替代品,比如:ArrayList、LinkedList,CopyOnWriteArrayList......,当然它也有它的有点,就是它是线程安全的,但也得结合使用场景,比如在单线程无竞争的场景它就是额外的开销了,但是在多线程的环境下也有更好的替代它实现线程安全的方法,所以这里不建议使用。
栈的特性:先入后出也可以使用 LinkedList 来实现,具体实现方法:
Stack
 1/**
 2 * @author ZhangXiaoYu
 3 * @date 2021/9/6 11:50
 4 */
 5public class TestStack {
 6    public static void main(String[] args) {
 7        //栈,先入后出,最先入栈的最后出栈。
 8        Stack<Integer> stack = new Stack<>();
 9        stack.push(1);//元素1 入栈
10        stack.push(2);//元素2 入栈
11        System.out.println(stack.pop());//出栈 --> 元素2
12        System.out.println(stack.pop());//出栈 --> 元素1
13    }
14}
LinkedList
 1/**
 2 * @author ZhangXiaoYu
 3 * @date 2021/9/6 11:52
 4 */
 5public class TestLinkedList {
 6    public static void main(String[] args) {
 7        //linkedList同样具有栈的先入后出特性。
 8        LinkedList<Integer> linkedList = new LinkedList<>();
 9        linkedList.addFirst(1);//元素1 入栈
10        linkedList.addFirst(2);//元素2 入栈
11        System.out.println(linkedList.removeFirst());//出栈 --> 元素2
12        System.out.println(linkedList.removeFirst());//出栈 --> 元素1
13    }
14}

标题:Stack && LinkedList
作者:zzzzchen
地址:https://dczzs.com/articles/2021/09/06/1630907575891.html