在 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]