美文网首页
Java集合框架(五)Queue接口

Java集合框架(五)Queue接口

作者: 清风流苏 | 来源:发表于2016-05-05 09:46 被阅读140次

    Queue(队列)接口继承自Collection,用来表示内部元素具有先后顺序的集合。除了基本的集合操作外,队列还提供了其他插入、删除和检查操作。Queue接口定义如下:

      public interface Queue<E> extends Collection<E> {
            E element();
            boolean offer(E e);
            E peek();
            E poll();
            E remove();
      }
    

    每一个队列相关方法都提供了两种形式:一种如果操作失败抛出异常,另一种如果操作失败返回一个特殊值(nullfalse)。 Queue接口结构如下图所示:

    队列接口结构
    队列通常是,但不是必须,以FIFO(先进先出)的方式排列元素。优先级队列除外,它是根据元素的值来排序(此句话待验证)。无论使用哪种排序方式,队列的头元素始终是那个通过remove或者poll移除的元素。
    有些队列实现是有边界限制的,有些没有。
    队列实现类通常不允许插入null元素,而LinkedList是个例外,由于某些历史原因,它允许插入null元素。但你应该杜绝这么做,因为null被用作pollpeek的特殊返回值。
    队列实现类通常不会定义基于元素版本的equalshashCode方法,而是继承来自Object的实现。
    Queue接口没有定义通常用于并发编程的阻塞队列方法,而这些方法(通常是等待元素出现或者有空间可用等),定义于Queue的子接口java.util.concurrent.BlockingQueue

    相关文章

      网友评论

          本文标题:Java集合框架(五)Queue接口

          本文链接:https://www.haomeiwen.com/subject/nuvrrttx.html