java队列与栈操作方法的统一化

java的队列和栈的实现有多个实现,这就造成我们操作队列或栈的时候使用方法名称的多样性,为了统一和见名知意,我们统一使用如下。

1. 队列

  • 一般队列
public interface Queue<E> extends Collection<E> {
   //添加到队列尾部,可能抛出的异常。如果容量被制定且满,抛出异常
    boolean add(E e);

    /**
     与add功能一样,但是容量受限的队列不会抛出一样
     */
    boolean offer(E e);

    /**
     与poll一样。如果队列为空,抛出NPE(空指针异常)
     */
    E remove();

    /**
     移除队列头部数据并返回,不会抛出异常。如果队列为空,返回null
     */
    E poll();

    /**
     与peek()功能一样,当队列为空抛出NPE
     */
    E element();

    /**
     获取队头数据不移除,不会抛出异常
     */
    E peek();
}

总结:
添加到队列尾部使用offer(比add好在容量限制不抛出异常。)
移除队列头部并返回poll(比remove好在,队列为空返回null而不是抛出NPE)
获取队列头部元素peek(比element好在,队列为空返回null而不是抛出NPE)

  • 双端队列
public interface Deque<E> extends Queue<E> {
    /**
     添加到队列头部
     */
    void addFirst(E e);

    /**
     添加到队列尾部
     */
    void addLast(E e);

    /**
     与addFirst一样。区别容量受限,不抛出异常
     */
    boolean offerFirst(E e);

    
    boolean offerLast(E e);

   
    E removeFirst();

    
    E removeLast();

   
    E pollFirst();

    
    E pollLast();

    
    E getFirst();

   
    E getLast();

   
    E peekFirst();

   
    E peekLast();

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值