首頁  >  文章  >  Java  >  Java佇列介面

Java佇列介面

PHPz
PHPz原創
2024-08-30 16:04:211190瀏覽

佇列介面是 util.java 套件的成員。它是集合框架的一部分,用於擴展集合介面。由於集合接口是主接口,所以佇列介麵包含了它的所有方法。佇列是 FIFO(先進先出)資料結構。佇列表示一種資料結構,其實作方式使得元素可以插入到順序中的最後一個位置。在隊列中,最先插入隊列的項目將首先被取出。 java中的Queue是一個介面;因此,它不能被實例化。 Queue介面主要在兩個類別中實現,即LinkedList和PriorityQueue。它是一個有序的物件序列,類似於 java 列表。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

在下列語法中,使用 LinkedList / PriorityQueue 類別實例化物件 obj。在下面的兩個 Queue 語法中,LinkedList 實作是標準的。

Queue qObj = new LinkedList();

Queue qObj = new PriorityQueue();

可以使用下列給定語法建立具有受限資料類型的佇列實例。

Queue<String> q = new LinkedList<String>();

隊列介面方法

下面給出隊列介面的一些常用方法

  • add(): add()方法用於在佇列中插入元素。如果回應成功則傳回true;否則,會產生異常。
  • element():element()是傳回佇列頭元素的重要方法之一。如果隊列為空,則會產生異常。在範例部分,我們可以看到 element() 方法是如何運作的。
  • offer(): 此方法也用於在佇列中插入元素。 add() 和 Offer 之間的唯一區別是,如果 add 方法無法將元素新增至佇列中,則會建立異常,而 Offer 方法則不會。
  • peek(): peek() 方法幾乎與 element() 方法類似。它檢查隊列的頭部。如果隊列為空,則傳回NULL
  • poll(): 此方法從佇列前面刪除一個元素並從佇列中傳回前面的元素。如果佇列為空,則傳回 null。
  • remove(): 此方法用於刪除並傳回佇列的最前面的元素。如果發現該元素為空,則會建立異常。
  • size(): 此方法傳回佇列中可用元素的計數。

實作 Java 佇列介面的範例

以下是實作java佇列介面的範例:

範例#1

此範例展示了程式中如何使用不同的方法以及這些方法傳回的內容。

  1. 建立 LinkedList 類型的佇列實例。
  2. 進一步,透過add方法將不同的字串元素加入到佇列中。
  3. 在下一語句中,使用 size() 方法顯示佇列的大小。
  4. 佇列中的項目,佇列的頭元素顯示在下一行。
  5. Remove 方法進一步用於從佇列中刪除元素。
  6. 接下來的兩行分別顯示佇列中的可用項目、佇列的頭項目。

代碼:

//importing packages
import java.util.*;
public class QueueInterfaceExample {
public static void main(String[] args){
Queue qObj = new LinkedList();
//adding element to the queue
qObj.add("Action");
qObj.add("speak");
qObj.add("louder");
qObj.add("than");
qObj.add("Words");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//printing the head element of the queue
System.out.println("\nHead item of the Queue: " + qObj.element());
//removing head element from the queue
qObj.remove();
//items available in the queue
System.out.println("\nAvailable item in Queue: " + qObj);
//items available in the queue after applying peek method
System.out.println("\nHead item of the Queue: " + qObj.peek());
//applying the poll method to the
qObj.poll();
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

輸出:

Java佇列介面

範例#2

在這個例子中,我們可以看到如何將受限類型的元素加入佇列。

代碼:

//importing package here
import java.util.*;
public class QueueInterfaceExample2 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add(10250);
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
//declaring a integer variable here
Integer intVar = 1450;
//condition to check if element is available in the queue
if(qObj.contains(intVar)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}
//declaring a integer variable here
Integer intVar2 = 1500;
//condition to check if element is available in the queue
if(qObj.contains(intVar2)){
//items available in the queue after applying poll method
System.out.println("\nSpecified item is available in the Queue.");
}else{
//items available in the queue after applying poll method
System.out.println("\nSpecified item " + intVar2 + " is not available in the Queue.");
}
}
}

輸出:

Java佇列介面

範例 #3

本例中,嘗試在Integer類型受限佇列中新增String類型的元素。

代碼:

importing package here
import java.util.*;
public class QueueInterfaceExample3 {
public static void main(String[] args){
//initialize a Queue using a LinkedList
Queue<Integer> qObj = new LinkedList<>();
//adding element to the queue
qObj.add(50);
qObj.add(175);
qObj.add(1450);
qObj.add(2750);
qObj.add("Happy");
//items available in the queue
System.out.println("\nTotal item count in Queue: " + qObj.size());
//printing queue here
System.out.println("\nItems in Queue: " + qObj);
//items available in the queue after applying poll method
System.out.println("\nAvailable item in Queue: " + qObj);
}
}

輸出:

上述程式的輸出將產生錯誤,因為不支援在 Integer 類型佇列中插入 String 類型的元素。

Java佇列介面

結論

在上面的文章中,隊列介面描述得很清楚。它用於擴展集合介面。也給出瞭如何在佇列介面中使用 FIFO。上面幾節給出了隊列介面的使用。文章中給了一些例子來看看隊列&隊列方法是如何運作的。

以上是Java佇列介面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn