java 队列 remove_队列Queue中 poll()和 remove()方法的区别

发布于:2021-10-24 08:13:10

队列(queue)是一个典型的先进先出(FIFO)的容器。即从容器的一端放入事物,从另一端取出,并且事物放入容器的顺序与取出的顺序是相同的。


相同点:


都是返回第一个元素,并在队列中删除返回的对象。


不同点:


remove() ,如果队列为空的时候,则会抛出异常


而poll()只会返回null


扩展:


Queue-poll代码示例:Queue?queue?=?new?LinkedList();


queue.?offer("string");?//?add


System.?out.?println(queue.?poll());


System.?out.?println(queue.?remove());


System.?out.?println(queue.?size());


返回string


null


0


Queue-remove代码示例public?static?void?main(String[]?args)?{


Queue?queue?=?new?LinkedList();


queue.offer("string");?//?add


System.out.println(queue.poll());


System.out.println(queue.remove());


System.out.println(queue.size());


}


队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素。不过优先级队列和 LIFO 队列(或堆栈)例外,前者根据提供的比较器或元素的自然顺序对元素进行排序,后者按 LIFO(后进先出)的方式对元素进行排序。


在 FIFO 队列中,所有的新元素都插入队列的末尾,移除元素从队列头部移除。


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


YUKX优科学*网


本文内容及图片来源于网上摘录或读者投稿

相关推荐

最新更新

猜你喜欢