Dueue双向队列接口分析

Dueue 双向队列


Doug Lea


双向队列定义了不仅是从一头出,还可以从另外一头。
所以这样称呼。 queue队列只能从头出。即先进先出


来看看他的定义:


1. void AddFirst(E e) 新增方法
竟然不返回boolean,那人家是怎么处理的呢?
要么就加进去了,要么就抛异常。
如果我们是有一个容量限制的队列那他近似于 offerFirst


2. void addLast(E e) 新增方法
后端插入
等同于原来默认的add
有容量限制时相当于 offerLast


3. boolean offerFirst 这个是有true和false和抛异常
加入失败抛出异常


4. boolean offerLast 这个也是有true和false
加入失败抛异常
这两个包含了返回值,这样的话,可以用来做判断


5.E removeFirst 这个队列为空会抛出异常
pollFirst就返回null,这个是不同


6.E removeLast 这个也同,如果为空队列抛异常
pollLast就返回null


7.E getFirst() 这个返回头对象,如果队列为空就完蛋,抛异常


8.E getLast() 同上,


9. peekFirst 这个不同的是,会返回null


10. peekLast 同上,返回null,并且是不移除该对象,注意
peek是一瞥的意思,偷看!


11. boolean removeFirstOccurrence(Object o)
移除第一个碰见的o,如果不允许o为null,会抛异常


12.boolean removeLastOccurrence(Object o)
移除最后一个o。 o.equals(e), 不允许为null的时候抛异常


13.boolean add(E e)


14.boolean offer(E e)
.. queue的方法


再来栈的方法


18. void push(E e) 压入head,
19. E pop() 得到头节点 空的情况返回的是异常




// collecion的方法


Iterator<E> descendingIterator()
得到逆序迭代器,这个好!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值