在 Java 中例項化佇列
本文將介紹在 Java 中例項化 Queue
物件的方法。我們將在本教程中進一步描述和實現來自例項化物件的方法呼叫。Queue 是一個介面,我們不能直接建立一個物件。但是我們可以實現已經實現了 Queue
介面的類。其中一些類是 AbstractQueue
、ArrayDeque
、DelayQueue
、LinkedList
。因此,我們將在本教程中使用 LinkedList
和 ArrayDeque
類來例項化 Queue。
在 Java 中使用 LinkedList
類實現 Queue
物件
LinkedList
類實現了 LinkedList 資料結構概念。它是集合框架的一部分,可在 java.util
包中使用。LinkedList 中的元素以指標和地址的形式儲存。該元素稱為節點。我們不能直接訪問 LinkedList 中的節點。要訪問一個節點,我們必須從頭部開始,然後一直到達我們想要訪問的節點。LinkedList 實現了 List 介面,它繼承了 List 介面和集合介面中的所有方法。Queue
也可在同一包中使用。我們可以建立一個實現 LinkedList
類的 Queue
物件。我們可以使用 add()
函式將資料新增到佇列中。
首先,分別使用 import java.util.Queue
和 import java.util.LinkedList
匯入 Queue 和 LinkedList。然後,建立一個 QueueDemo
類並宣告 main 方法。接下來,通過實現 LinkedList
類例項化一個物件 queue
。使用物件呼叫 add()
方法並新增五個整數值。最後,列印佇列的元素。
在示例中,我們使用了一個實現 Queue 介面的 LinkedList
類來建立一個佇列物件。這是因為 Queue 是一個介面,我們不能直接建立它的物件。我們在建立物件時指定了泛型型別 Integer
,因為我們將整數值儲存在佇列中。輸出部分顯示儲存在佇列中的元素。
示例程式碼:
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.add(8);
queue.add(9);
queue.add(10);
queue.add(2);
queue.add(5);
System.out.println("Added Queue in memory: " + queue);
}
}
輸出:
Added Queue in memory: [8, 9, 10, 2, 5]
在 Java 中使用 ArrayDeque
類實現 Queue
物件
Java 語言將 ArrayDeque
類定義為集合框架的一部分。它在記憶體中建立一組空的位置,其初始容量足以容納 16 個元素。ArrayDeque 也稱為 Array Double Ended Queue,它允許我們從兩邊插入或刪除一個元素。它實現了堆疊(後進先出)或佇列(先進先出)。因此,我們可以通過 ArrayDeque
類的實現來建立一個 Queue
物件。
如上所述匯入包,但請確保在此方法中匯入 ArrayDeque
而不是 LinkedList
。然後,建立一個類 Demo 並宣告 main 方法。然後通過例項化 Queue
介面來實現 ArrayDeque
類。建立一個 Queue
物件作為 aq
。使用 aq
物件呼叫 add()
方法四次。附加四個不同的字串。最後,列印 aq
物件。
在下面的示例中,我們在建立物件時使用了泛型型別 String
。這是因為我們在佇列中新增字串項。因此,我們已經例項化了一個實現 ArrayDeque
類的 Queue
物件。
示例程式碼:
import java.util.ArrayDeque;
import java.util.Queue;
public class Demo {
public static void main(String[] args) {
Queue<String> aq = new ArrayDeque<String>();
aq.add("first");
aq.add("second");
aq.add("third");
aq.add("fourth");
System.out.println("Added Queue in memory: " + aq);
}
}
輸出:
Added Queue in memory: [first, second, third, fourth]