Java中Queue的poll()和remove()区别详解
在Java中,Queue是一个接口,它有许多实现类,如LinkedList,PriorityQueue等。
Queue接口提供了许多方法,其中poll()和remove()是两个常用的方法。
它们的区别在于,当队列为空时,poll()方法返回null,而remove()方法会抛出NoSuchElementException异常。
下面是Java代码演示poll()和remove()方法的区别:
import java.util.LinkedList; import java.util.Queue; public class QueueDemo { public static void main(String[] args) { Queue<String> queue = new LinkedList<>(); // 添加元素到队列 queue.offer("A"); queue.offer("B"); queue.offer("C"); // 使用poll()方法获取并移除队列头部的元素 System.out.println("使用poll()方法获取并移除队列头部的元素:"); while(!queue.isEmpty()){ System.out.println(queue.poll()); } // 重新添加元素到队列 queue.offer("A"); queue.offer("B"); queue.offer("C"); // 使用remove()方法获取并移除队列头部的元素 System.out.println("使用remove()方法获取并移除队列头部的元素:"); while(!queue.isEmpty()){ System.out.println(queue.remove()); } } }
输出结果为:
使用poll()方法获取并移除队列头部的元素:
A
B
C
使用remove()方法获取并移除队列头部的元素:
A
B
C
在第一个while循环中,我们使用了poll()方法获取并移除队列头部的元素,这时队列为空,循环结束。
在第二个while循环中,我们使用了remove()方法获取并移除队列头部的元素,由于队列为空,这时会抛出NoSuchElementException异常。
到此这篇关于Java中Queue的poll()和remove()区别详解的文章就介绍到这了,更多相关Queue的poll()和remove()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java String字符串和Unicode字符相互转换代码详解
这篇文章主要介绍了Java String字符串和Unicode字符相互转换代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-05-05java工厂实例BeanFactoryPostProcessor和BeanPostProcessor区别分析
这篇文章主要为大家介绍了BeanFactoryPostProcessor和BeanPostProcessor区别示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-07-07Spring Schedule Task动态改写Cron配置方式
这篇文章主要介绍了Spring Schedule Task动态改写Cron配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11
最新评论