Java基础知识--集合框架--list之Stack类

一.栈(Stack):数据结构的一种,存储特点:Last In First Out.
Stack 类表示后进先出(LIFO)的对象栈.
栈结构在生活中的体现:
1):QQ消息. A,B,C三个人先后发送消息,我们查看的时候发现最顶上的是最新的消息.
2):手枪弹夹的装和发射:
要来实现栈的存储,底层可以数组来存储,也可以使用链表来存储.
在这里插入图片描述

二.操作模型图
在这里插入图片描述
三.源代码:
在这里插入图片描述

四.常用方法
因为操作的都是栈顶的元素,所以peek()方法和pop()方法是没有参数的
在这里插入图片描述

 		Stack stack = new Stack();
        stack.push("A");
        stack.push("B");
        stack.push("C");
        System.out.println(stack);//[A, B, C]
        System.out.println(stack.peek());//C
        stack.pop();
        System.out.println(stack);//[A, B]
        System.out.println(stack.peek());//B

五.Deque
双端队列也可用作 LIFO(后进先出)栈。应优先使用此接口而不是遗留 Stack 类。在将双端队列用作栈时,元素被推入双端队列的开头并从双端队列开头弹出。栈方法完全等效于 Deque 方法
官方建议:使用栈尽量使用ArrayDeque:

Deque 接口及其实现提供了 LIFO 堆栈操作的更完整和更一致的 set,应该优先使用此 set,而非此类。例如:

Deque stack = new ArrayDeque();

将第一个元素作为顶来操作

 ArrayDeque arrayDeque = new ArrayDeque();
        arrayDeque.push("A");
        arrayDeque.push("B");
        arrayDeque.push("C");
        System.out.println(arrayDeque);//[C, B, A]
        System.out.println(arrayDeque.peek());//C
        arrayDeque.pop();
        System.out.println(arrayDeque);//[B, A]
        System.out.println(arrayDeque.peek());//B
发布了99 篇原创文章 · 获赞 2 · 访问量 2609

猜你喜欢

转载自blog.csdn.net/weixin_41588751/article/details/105255237