您好,我在优先级队列和比较器中有点迷失了。我真的不明白如何在java中制作比较器所以我所拥有的是给我一个错误,我所读到的对我没有帮助 http://www.tutorialspoint.com/java/java_using_comparator.htm 这个帖子游戏我一些想法,但我仍然坚持 如何去做我如何使用 PriorityQueue?
我所拥有的是一个创建具有优先级、到达时间和完成时间的对象的类。我还有许多优先级队列可以放入。当我开始时,我将它们放入到达队列中对它们进行排序,然后查看哪个最先进入并将其放入队列中。但是,当我尝试将第二个添加到到达队列时,它会失败并引发异常。我首先要做的是将所有进程添加到到达队列中,然后对它们进行排序,以便到达时间最短的进程将成为到达队列中的第一个进程并进入队列一。感谢您对此的任何帮助
//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);