• Queue的相关API


    • public interface Queue<E> extends Collection<E> :队列通常是以FIFO(先进先出)方式排序元素。

    •   

      boolean

       add(E e) :将指定的元素插入到此队列中如果当前没有可用空间,则抛出IllegalStateException。

      E

       element() :检索,但不删除,这个队列的头。

      boolean

       offer(E e):如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。

      E

       peek():检索但不删除此队列的头,如果此队列为空,则返回 null 。

      E

       poll():检索并删除此队列的头,如果此队列为空,则返回 null 。

      E

       remove():检索并删除此队列的头。

      java中虽然有Queue接口,单java并没有给出具体的队列实现类,而Java中让LinkedList类实现了Queue接口,所以使用队列的时候,一般采用LinkedList。因为LinkedList是双向链表,可以很方便的实现队列的所有功能。

      Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用element()或者peek()方法。

      java中定义队列 一般这样定义: Queue<E> queue = new LinkedList<E>();

      当采用LinkedList来实现时,api的使用和对用关系如下:

      队列方法       等效方法
      offer(e)         offer(e)/offerLast(e)    //进队列,将元素加入队列末尾
      poll()            poll()/pollFirst()           //获取队列头的元素并移除
      peek()          peek()/peekFirst()     //获取队列头的元素      

             isEmpty()                 //判断是否为空  

    借鉴原文:https://www.jb51.net/article/112613.htm

  • 相关阅读:
    python utf8/gbk/unicode 编码及解码
    用python 实现一个在linux上修改某行配置文件的配置信息
    docker 部署elasticsearch(ES)
    python 进行es查询
    python kafka(一)生产和消费
    linux Centos 上安装docker
    python 进行es聚合查询
    关系型数据库简介(mariadb)
    git revert
    分支合并代码
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10766994.html
Copyright © 2020-2023  润新知