Java中的Queue(队列)和Duque(栈)

这篇博客探讨了Java中的Queue和Deque数据结构。Queue是遵循先进先出(FIFO)原则的接口,常用方法包括offer、poll和peek。LinkedList实现了Queue接口。Deque是Queue的子接口,适用于栈操作,遵循先进后出(FILO)原则,提供了push、pop和peek方法。ArrayDeque是基于数组的双端队列,可以作为栈和队列使用,但不是线程安全的,性能优于Stack和LinkedList。
摘要由CSDN通过智能技术生成

Deque接口继承了Queue的接口规范。LinkedList、ArrayDeque都是实现Deque接口。

       Queue<-----Duque<-----LinkedList、ArrayDeque

队列(Queue)

      是常用的数据结构,可以将队列看成特殊的线性表,队列限制了对线性表的访问方式:只能从线性表的一端添加(offer)元素,从另一端取出(poll)元素。Queue接口:在包 java.util.Queue。
1)队列遵循先进先出原则:FIFO(First Input First Output)队列不支持插队,插队是不道德的。
2)JDK 中提供了 Queue 接口,同时使得 LinkedList 实现了该接口(选择 LinkedList 实现Queue 的原因在于 Queue 经常要进行插入和删除的操作,而 LinkedList 在这方面效率较高) 。

常用方法:
  ①boolean offer(E e):将一个对象添加至队尾,如果添加成功则返回 true。
  ②poll():从队列中取出元素,取得的是最早的 offer 元素,从队列中取出元素后,该元素会从队列中删除。若方法返回 null 说明 队列中没有元素了。
  ③peek():获取队首的元素(不删除该元素!)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值