日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中的Queue队列的用法

發布時間:2023/12/3 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的Queue队列的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,歡迎來到雄雄的小課堂,今天給大家分享的是“java中的Queue隊列的用法”

前言:好多人對Queue不是很熟悉,畢竟平時也不怎么用,遇到集合要么List要么map這些常用的,殊不知,java中還有個Queue,今天,我們就來看看Queue的用法。

何為隊列?

隊列是一種特殊數據結構,它只允許在表的前端進行刪除操作,而在表的后端進行插入操作,“先進先出”的場景,和我們生活中的排隊類似,誰先來先給誰辦理。

Queue隊列

Java中,LinkedList類就是實現的Queue接口,因此,我們可以把LinkedList當成隊列來使用。

先來看看Queue接口的源碼,然后每個方法每個方法的看:

package java.util;public interface Queue<E> extends Collection<E> {boolean add(E e);boolean offer(E e);E remove();E poll();E element();E peek(); }

插入元素:

其中,add方法和offer方法都是可以在隊列的尾部添加元素,代碼如下:

public static void main(String[] args) {Queue<String> list = new LinkedList<String>();//添加元素list.add("a");list.offer("b");list.offer("c");list.offer("d");System.out.println("元素列表:");//遍歷for (String s : list) {System.out.print(s+" ");}}

運行結果如下:

add方法和offer方法的區別:
雖然兩個方法都可以實現添加,但是如果隊列滿的時候,使用add方法時就會報錯,而offer方法就不一樣了,它在添加失敗時不會直接報錯,而是會返回false。

刪除元素:

remove方法和poll方法都是刪除隊列中的第一個元素,代碼示例如下:

public static void main(String[] args) {Queue<String> list = new LinkedList<String>();//添加元素list.add("a");list.offer("b");list.offer("c");list.offer("d");System.out.println("元素列表:");//遍歷for (String s : list) {System.out.print(s+" ");}System.out.println("\n---------\n調用remove方法");list.remove();//遍歷for (String s : list) {System.out.print(s+" ");}System.out.println("\n---------\n調用poll方法");list.poll();//遍歷for (String s : list) {System.out.print(s+" ");}}

運行結果如下:

remove方法和poll方法的區別:
當隊列為空時 remove() 方法會報 NoSuchElementException 錯; 而 poll() 不會奔潰,只會返回 null。

返回隊列的第一個元素:

element方法和peek方法都是返回隊列中的第一個元素,代碼示例如下:

public static void main(String[] args) {Queue<String> list = new LinkedList<String>();//添加元素list.add("a");list.offer("b");list.offer("c");list.offer("d");System.out.println("元素列表:");//遍歷for (String s : list) {System.out.print(s+" ");}System.out.println("\n---------\n調用remove方法");list.remove();//遍歷for (String s : list) {System.out.print(s+" ");}System.out.println("\n---------\n調用poll方法");list.poll();//遍歷for (String s : list) {System.out.print(s+" ");}System.out.println("\n-------------");System.out.println("隊列中的第一個元素是:"+list.element());System.out.println("隊列中的第一個元素是:"+list.peek());}

運行結果如下:

element方法和peek方法的區別:
和remove方法一樣,當隊列為空時,調用element方法會拋出異常,而peek則會返回null。

今天的分享就這些,歡迎大家關注公眾號雄雄的小課堂獲取更多精彩內容

總結

以上是生活随笔為你收集整理的java中的Queue队列的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。