Java 错误:类型队列不接受参数-What';队列和优先级队列的区别是什么?

Java 错误:类型队列不接受参数-What';队列和优先级队列的区别是什么?,java,collections,parameters,queue,stack,Java,Collections,Parameters,Queue,Stack,我得到的错误消息类型队列不带参数。当我将队列行替换为PriorityQueue时,此错误消失,并且编译良好。区别是什么?如何将其更改为编译和常规队列 import java.util.*; public class StackOneTwoMultiply { public static void main(String[] args) { int first, second; Stack<Integer> s = new Stack&l

我得到的错误消息类型队列不带参数。当我将队列行替换为PriorityQueue时,此错误消失,并且编译良好。区别是什么?如何将其更改为编译和常规队列

import java.util.*;

public class StackOneTwoMultiply {

    public static void main(String[] args) {

        int first, second;

        Stack<Integer> s = new Stack<Integer>();  //stack called s
        PriorityQueue<Integer> q = new PriorityQueue<Integer>();

        for (int i = 10; i > 0; i--) {      //filling the stack (what order to fill was not specifified)
            s.push(i);
        }

        while (!s.isEmpty()) {
            first = s.pop();
            second = s.pop();
            q.offer(first * second);
            System.out.println(q.peek());
        }

        System.out.print(q);
    }
}
import java.util.*;
公共类StackOneTomMultiply{
公共静态void main(字符串[]args){
int第一,第二;
堆栈s=新堆栈();//堆栈被调用
PriorityQueue q=新的PriorityQueue();
对于(int i=10;i>0;i--){//填充堆栈(未指定填充顺序)
s、 推(i);
}
而(!s.isEmpty()){
first=s.pop();
秒=s.pop();
q、 报价(第一个*第二个);
System.out.println(q.peek());
}
系统输出打印(q);
}
}

队列本身不是一个具体的类(它是一个接口),因此无法实例化<但是,code>PriorityQueue
Queue
的一个具体实现,因此可以实例化。

如果您想使用Queue而不是PriorityQueue,请使用带有Queue接口的LinkedList类的create和object

import java.util.*;
.....
Queue<Integer> q = new LinkedList<Integer>();
.....
有时它不接受java.util.*的参数


对不起,您的意思是
Queue q=new Queue()?是的,很抱歉这么模糊。但是您可以创建队列,因为它是
抽象的
类。您可以在此处创建它:
Queue q=new PriorityQueue()
您可以创建
堆栈
,因为它不是
抽象的
import java.util.LinkedList;
import java.util.Queue;