java中的栈与队列

1 栈

1.1 概念

栈 (stack):也叫堆栈,是一种限定仅在表尾进行插入和删除的线性表。

一般把允许插入和删除的一端称为栈顶 (top),另一端称为栈底 (bottom),不含任何数据元素的栈称为空栈。又称为先进后出(Last In First Out)的线性表,简称LIFO结构。

1.2 栈的一般操作

//初始化一个栈
Stack<Integer> stack = new Stack<>();
//执行一次入栈操作
stack.push(1);

 执行此操作后栈非空,栈内存在元素1。

此时打印栈得到结果:

System.out.println(stack);

[1]

为了验证栈是先入后出的特性,随后向栈中存入元素2,并打印栈顶元素。

        Stack<Integer> stack = new Stack<>();

        stack.push(1);

        System.out.println(stack);


        stack.push(2);

        System.out.println(stack.peek());

获得结果

[1]
2

 由此可见,第二次加入的元素2现在在栈顶,也即先入后出。

2 队列 

2.1  队列的理解

队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 

队列是一种先进先出的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。

2.2 Queue队列

Queue是java中实现队列的接口,它总共只有6个方法,如下:
Queue的6个方法分类:

添加元素:add()、offer()

删除元素:remove()、poll()

取队头元素:element()、peek()

2.3 双端队列

通过deque接口实现,属于java.util包

Deque<T> deque = new ArrayDeque<>();
Deque<T> deque = new LinkedList<>();

常用方法如下:

插入元素        add()、addFirst()、addLast();

                      offer()、offerFirst()、offerLast();

删除元素       remove()、removeFirst()、removeLast();

                      poll()、pollFirst()、pollLast();

获取队头元素 peek()、peekrFirst()、peekLast();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值