zoukankan      html  css  js  c++  java
  • Queue的poll()和remove()、peek()和element()、offer()和add()

    poll()和remove() 取出队列头

    public E remove() {
            return removeFirst();
        }
    public E removeFirst() {
            final Node<E> f = first;
            if (f == null)
            //没有元素、则抛出异常
                throw new NoSuchElementException();
            return unlinkFirst(f);
        }
    public E poll() {
            final Node<E> f = first;
            //没有元素就返回null
            return (f == null) ? null : unlinkFirst(f);
        }
    

    peek()和element() 返回队列头元素

    在队列为空时, element() 抛出一个异常,而 peek() 返回 null

    offer()和add() 添加元素

    add():

    boolean add(E e)将指定的元素插入到此队列中,如果可以立即执行此操作而不违反容量限制, true在成功后返回 IllegalStateException如果当前没有可用空间,则抛出IllegalStateException。

    异常

    • IllegalStateException - 如果由于容量限制,此时无法添加该元素
    • ClassCastException - 如果指定元素的类阻止将其添加到此队列中
    • NullPointerException - 如果指定的元素为空,并且该队列不允许空元素
    • IllegalArgumentException - 如果此元素的某些属性阻止将其添加到此队列

    offer

    boolean offer(E e)如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。 当使用容量限制队列时,此方法通常优于add(E) ,这可能无法仅通过抛出异常来插入元素。
    结果 :
    true如果元素被添加到这个队列,否则 false

    异常 :

    • ClassCastException - 如果指定元素的类阻止将其添加到此队列中
    • NullPointerException - 如果指定的元素为空,并且该队列不允许空元素
    • IllegalArgumentException - 如果此元素的某些属性阻止将其添加到此队列
  • 相关阅读:
    5月27 开通博客啦
    源码编译安装mysql-boost-5.7.16.tar.gz报错分析处理
    MHA实践操作
    (转)MySQL高可用方案MHA的部署和原理
    Mysql利用binlog日志恢复数据操作(转)
    生产环境mysql数据库主从恢复从数据库 -- flush tables with read lock;
    带着问题学习openstack
    openstack的网络模式(转)
    openstack 镜像初始化root登录密码
    openstack placement 组件作用理解
  • 原文地址:https://www.cnblogs.com/jklixin/p/13456704.html
Copyright © 2011-2022 走看看