佇列介面是 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>();
下面給出隊列介面的一些常用方法
以下是實作java佇列介面的範例:
此範例展示了程式中如何使用不同的方法以及這些方法傳回的內容。
代碼:
//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); } }
輸出:
在這個例子中,我們可以看到如何將受限類型的元素加入佇列。
代碼:
//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."); } } }
輸出:
本例中,嘗試在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 類型的元素。
在上面的文章中,隊列介面描述得很清楚。它用於擴展集合介面。也給出瞭如何在佇列介面中使用 FIFO。上面幾節給出了隊列介面的使用。文章中給了一些例子來看看隊列&隊列方法是如何運作的。
以上是Java佇列介面的詳細內容。更多資訊請關注PHP中文網其他相關文章!