Java用LinkedList类构建队列时各种 *** 作方法的异同(add与offer,remove与poll等)

Java用LinkedList类构建队列时各种 *** 作方法的异同(add与offer,remove与poll等),第1张

Java用LinkedList类构建队列时各种 *** 作方法的异同(add与offer,remove与poll等)

我们用先linkedList创建一个队列:

linkedList queue = new linkedList<>();

一、首先是进队相关 *** 作:

    add方法 在队尾添加特定元素,是最基础的方法
queue.add("1");//入队1
    addLast方法
queue.addLast("2");//入队2 实际就是add()

我们在集成开发环境中中按ctrl+Enter点开 发现他有一句话:

也就是说 从功能层面上讲这个和add是一模一样的

    offerLast方法
queue.offerLast("3");//入队3 实际就是addLast()

我们打开它的方法体定义的时候 发现它实际就是addLast 那么实际也就是add:

public boolean offerLast(E e) {
        addLast(e);
        return true;
    }
    offer方法
queue.offer("4");//入队3 实际就是add()

同样打开它的方法体定义 我们发现它也是add方法换了个名字:

public boolean offer(E e) {
        return add(e);
    }

综上 这四种进队方法 实际上是一样的方法 只不过换了好几个名字

二、出队相关的 *** 作还是有一定区别的 请看下列代码及注释

主要区别在于出队失败的处理方法

        queue.remove();//出队1 失败抛出异常
        
        queue.removeFirst();//出队2 失败抛出异常
        
        queue.poll();//出队3 失败返回null
        
        queue.pollFirst();//出队4 失败返回null

三、还有一项 *** 作是取队头元素(不删除)

其区别也在于 *** 作失败时的返回结果:

System.out.println(queue.element());
//从队首取元素(不删除) 失败会抛出异常
System.out.println(queue.peek());
//从队首取元素(不删除) 失败会返回null

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5719814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存