java 获取方法栈_Java 栈的使用

讲栈之前,要先讲一下Deque双端队列

既可以添加到队尾,也可以添加到队首

既可以从队首获取又可以从队尾获取

public interface Deque extends Queue {

}

我们可以看到Deque其实是扩展至Queue接口的

我们对比一下Deque和Queue的方法

Queue

Deque

添加元素到队尾

add(E e) / off(E e)

addLast(E e) / offerLast(E e)

取队首元素并删除

E remove() / E poll()

E removeFirst() / E pollFirst()

取队首元素但不删除

E element() / E peek()

E getFirst() / E peekFirst()

Deque还有自己的方法

Deque

添加元素到队首

addFirst(E e) / offerFirst()

取队尾元素并删除

E removeLast() / E pollLast()

取队尾元素但不删除

E getLast() / E peekLast()

Deque的实现类: ArrayDeque , LinkedList

Deque deque = new LinkedList<>();

deque.offerLast("end");

deque.offerFirst("3");

deque.offerFirst("2");

deque.offerFirst("1");

while (deque.size() > 0) {

System.out.println(deque.pollFirst());

}

运行结果

1

2

3

end

栈(Stack)是一种后进先出的数据结构

7d81e1c15e2d7320e2f3d0cb1a4f55d9.png

先进去的元素永远都在栈顶,所有它最后才会出来

有两个重要的方法

push(E e):把元素压栈

pop(E e): 把栈顶的元素“弹出”

用Deque可以实现Stack的功能

push(E e) : addFirst(E e)

pop() : removeFirst()

peek() : peekFirst()

Java使用Deque实现栈的功能,注意只调用push / pop /peek,避免调用Deque的其它方法

不要使用遗留类Stack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值