• 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 - 如果此元素的某些属性阻止将其添加到此队列
  • 相关阅读:
    hdu 母牛的故事 递推题
    并查集
    又是矩阵 Uva上的一道 经典题目
    poj 3233 矩阵幂取模
    electronvue + elementui构建桌面应用
    主板cmos 映射表
    高级配置与电源接口 acpi 简介
    警告不能读取 AppletViewer 属性文件的解决方法
    高级 Synth(转载)
    vbs 查看硬件信息代码
  • 原文地址:https://www.cnblogs.com/jklixin/p/13456704.html
Copyright © 2020-2023  润新知