• Collection接口的子接口——Queue接口


      https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html

     

      public interface Queue<E> extends Collection<E>

      E是Queue中元素的类型。

      父接口:Collection<E>, Iterable<E>

      子接口:BlockingDeque<E>, BlockingQueue<E>, Deque<E>, TransferQueue<E>

      常见实现类: ArrayDeque、 LinkedList

     

      一、介绍

      Queue(队列)是一个专为进行处理前保存元素而设计的集合。

      除了Collection接口中基本操作外,Queue还提供了其它的插入、获取和检查操作。每种操作有两种形式的方法:一种是当操作失败时抛出异常;另一种是失败时返回特殊的值(null or false)。

      后一种形式的插入操作,是专门为有容量限制的Queue实现设计的,在大多数的实现类中,插入操作不会失败。

      throws exception return value
    Insert add(e) offer(e)
    Remove remove() poll()
    Examine element() peek()

      队列通常但不一定以FIFO(先进先出)方式排列元素。

      例如,优先队列,根据它提供的比较器进行排序,或者根据元素的自然排序。还有栈(LIFO Queue),它的排序规则是LIFO。

      不论是采用哪种排序,Queue的头部都是那个通过remove()或poll()来移除的元素。

      在FIFO queue中,新的元素都插入队列的尾部。不同的实现类有不同的规则。

     

      Queue通常不允许插入null元素,然而一些实现类比如LinkedList,并不禁止null值的插入。但是我们仍然需要避免插入null元素,因为当Queue为空时,poll()会返回null。

      Queue的实现类一般不会重写equals()和hashcode(),而是直接继承Object类中的版本。

     

      Queue接口是Java Collections Framework的成员。

     

      二、方法

      1、boolean add(E e)

      若没有超出容量限制,插入指定元素。

      操作成功返回true;

      如果当前没有空间可用,抛出一个IllegalStateException

     

      2、boolean offer(E e)

      若没有超出容量限制,插入指定元素。

      操作成功返回true;失败返回false。

      在有容量限制的队列中,这个方法比add()更好。

     

      3、E remove()

      检索并删除队列的头部元素,还将它返回。

      队列为空时抛出异常。

     

      4、E poll()

      检索并删除队列的头部元素,并将它返回。

      队列为空时返回null。

     

      5、E element()

      检索并返回头部元素。

      队列为空时,抛出出异常

     

      6、E peek()

      检索并返回头部元素。

      队列为空时,返回null。

      

     

  • 相关阅读:
    Win10安装系统后,提示initializing and establishing link无法启动系统
    CSVN使用入门
    CSVN(SVN)命令入门及使用过程中遇到的错误问题汇总
    CSVN部署安装,实现web管理svn
    xenserver使用快照创建虚拟机,提示eth0 has different mac错误
    开机或者安装系统时提示tsc: Fast TSC calibration failed解决方法
    Nginx——debug的使用
    nginx屏蔽某一ip的访问
    plsql快速入门
    Web02_HTML&CSS
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/8566569.html
Copyright © 2020-2023  润新知