Java 错误:类型队列不接受参数-What';队列和优先级队列的区别是什么?
我得到的错误消息类型队列不带参数。当我将队列行替换为PriorityQueue时,此错误消失,并且编译良好。区别是什么?如何将其更改为编译和常规队列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
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;