Hello Im在优先级队列和比较器中丢失了一点。 我真的不看如何在Java的 比较所以我有什么是给我一个错误,我已阅读对我来说 http://www.tutorialspoint.com/java/java_using_comparator.htm 没有帮助本赛后我一些想法,但林仍然停留在如何做到这一点 How do I use a PriorityQueue?Java中对象的优先级队列
我所拥有的是创建具有优先级,到达时间和完成时间的对象的类。 我也有一些优先级队列来放置它们。当我开始时,我将它们放入到达队列中对它们进行排序,然后查看哪个先进入并将其放入队列中。但是,当我尝试添加第二个到达队列时,它会失败并引发异常。 我想要做的第一件事就是将所有进程添加到到达队列中,然后对它们进行排序,以便到达时间最短的那个进程将成为到达队列中的第一个进入第一个队列。 感谢这个
//the comparator
Comparator<Integer> comparator = new Comparator();
//priority queues
//only needs 10 elements to hold
PriorityQueue one = new PriorityQueue(10, comparator);
PriorityQueue two = new PriorityQueue(10, comparator);
PriorityQueue three = new PriorityQueue(10, comparator);
PriorityQueue four = new PriorityQueue(10, comparator);
PriorityQueue arrival = new PriorityQueue(10, comparator);
//put all processes in arrival queue
arrival.add(p1);
arrival.add(p2);
arrival.add(p3);
arrival.add(p4);
arrival.add(p5);
arrival.add(p6);
arrival.add(p7);
arrival.add(p8);
arrival.add(p9);
arrival.add(p10);
“...它失败并引发异常。” **哪一个**,什么是错误信息? –
为什么你需要多个优先级队列?为什么你的对象有一个“优先级”,如果你真的想通过到达时间比较它们?你的意思是“排队一” - 你到达队列之外有4个队列...? – DNA
“比较器”通常是您必须实现的接口。我看不到你已经实现了这个接口。 –