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

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程语言 > java >内容正文

      java

      Java队列接口

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

      介紹:

      隊列是FIFO(先進先出)抽象數據類型(ADT)。 換句話說,按插入順序將元素刪除。

      java.util.Queue是Java 中的接口,并且從java.util.Collection擴展。 一些常用的Queue實現類包括LinkedList, ArrayDeque和PriorityQueue 。

      隊列類型:

      隊列有兩個主要類別:

      1.阻塞隊列:這些是具有固定容量有界隊列。 這意味著我們必須在創建隊列時提供隊列的容量。

      java.util.concurrent包中提供了有界隊列的實現類 例如,一個ArrayBlockingQueue 。

      2.非阻塞隊列: java.util包下的隊列實現屬于此隊列類別。 例如, LinkedList或PriorityQueue 。

      顧名思義, 這些元素是無限制的,我們可以根據需要插入任意數量的元素。

      關鍵方法:

      讓我們看一下Queue接口公開的最常用方法:

      引發異常:

      下面的方法將嘗試對隊列進行操作。 如果由于某種原因(例如由于容量問題)而失敗,則會拋出運行時異常:

      1.

      使用add() ,我們可以將元素添加到隊列中:

      Queue<Integer> queue = new LinkedList<>();queue.add(1); queue.add(2); queue.add(3);

      如果元素插入成功,則返回true 。 否則,它將引發IllegalStateException。

      2.

      我們可以使用remove()方法來檢索和刪除隊列頭部的元素

      int removedItem = queue.remove();System.out.println(removedItem); //prints 1System.out.println(queue); // [2, 3]

      請注意,我們從隊列中刪除了第一個元素。 因此,現在我們的隊列僅包含[2,3] 。

      在空隊列上調用時,此方法將引發NoSuchElementException 。

      3.

      此方法將僅返回隊列的head元素,而不會將其刪除

      int topItem = queue.element(); // 2System.out.println(queue); //[2, 3]

      請注意,我們的隊列仍然包含兩個元素。

      就像remove()一樣 ,它將為空隊列拋出NoSuchElementException異常。

      返回特殊值:

      現在,我們將介紹上述方法的細微變化。 這些方法不會拋出異常。 當他們無法執行操作時,他們寧愿返回一些值

      1.

      就像add()一樣 ,我們有一個offer()方法,可以用來插入元素:

      Queue<Integer> queue = new LinkedList<>(); queue.offer(1); queue.offer(2); queue.offer(3);

      如果無法插入,它將返回false。

      2.

      我們可以使用poll()檢索和刪除元素:

      int removedItem = queue.poll(); // returns 1System.out.println(queue); //[2, 3]

      對于空隊列,它將僅返回一個空值。

      3.

      與element()類似,它只是檢索隊列的最前面的元素:

      int topItem = queue.peek(); // 2System.out.println(queue); //still [2, 3]

      由于我們已經刪除了1 ,因此這里的頂部元素是2 。

      如果在空隊列中使用此方法,則將獲得空值。

      其他有用的方法:

      由于Queue從Collection接口擴展而來,因此它也從該接口繼承方法。 一些有用的包括:

      1. size():返回隊列的大小

      2. contains():如果元素存在于隊列中,則返回true

      3. isEmpty() :對于空隊列,它將返回true 。 否則為false 。

      結論:

      在本文中,我們討論了Java中的Queue接口。 我們介紹了此接口公開的所有主要方法。

      成為第一個發表評論的人。

      翻譯自: https://www.javacodegeeks.com/2019/05/java-queue-interface.html

      總結

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

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