java中的队列实现

时间:2011-12-20 05:34:35

标签: java data-structures

我实现了一个队列和各种操作,如下所示。在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);
        }
    }
}

3 个答案:

答案 0 :(得分:2)

LinkedList您已经使用了Queue接口。

答案 1 :(得分:1)

链表是一个很好的方法。看看你的代码,我会建议它的大部分都属于main函数。您已在构造函数中使用链接列表运行类似队列的功能,但是要创建队列,您需要创建一个提供队列接口和实现的类。

答案 2 :(得分:0)

ArrayDequeArrayBlockingQueue使用循环阵列算法实现。