我实现了一个队列和各种操作,如下所示。在Java中有没有其他简单的方法来实现队列(循环队列)?哪种是在java中实现队列的最简单方法?
import java.io.*;
import java.util.*;
public class QueueImplement {
LinkedList<Integer> list;
String str;
int num;
public static void main(String[] args) {
QueueImplement q = new QueueImplement();
}
public QueueImplement() {
try {
list = new LinkedList<Integer>();
InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader bf = new BufferedReader(ir);
System.out.println("Enter number of elements : ");
str = bf.readLine();
if ((num = Integer.parseInt(str)) == 0) {
System.out.println("You have entered either zero/null.");
System.exit(0);
} else {
System.out.println("Enter elements : ");
for (int i = 0; i < num; i++) {
str = bf.readLine();
int n = Integer.parseInt(str);
list.add(n);
}
}
System.out.println("First element :" + list.removeFirst());
System.out.println("Last element :" + list.removeLast());
System.out.println("Rest elements in the list :");
while (!list.isEmpty()) {
System.out.print(list.remove() + "\t");
}
} catch (IOException e) {
System.out.println(e.getMessage() + " is not a legal entry.");
System.exit(0);
}
}
}
答案 0 :(得分:2)
LinkedList您已经使用了Queue接口。
答案 1 :(得分:1)
链表是一个很好的方法。看看你的代码,我会建议它的大部分都属于main函数。您已在构造函数中使用链接列表运行类似队列的功能,但是要创建队列,您需要创建一个提供队列接口和实现的类。
答案 2 :(得分:0)
ArrayDeque
和ArrayBlockingQueue
使用循环阵列算法实现。