こんにちは、プライオリティ キューとコンパレータで少し迷っています。Javaでコンパレータを作成する方法が本当にわかり ませ んアイデアですが、私はまだそれを行う方法にこだわっています PriorityQueue を使用するにはどうすればよいですか?
私が持っているのは、優先度、到着時間、終了時間を持つオブジェクトを作成するクラスです。また、それらを配置するための優先キューもいくつかあります。開始したら、それらを到着キューに入れて並べ替え、最初に到着したものを確認し、それをキュー 1 に入れます。しかし、到着キューに 2 番目のものを追加しようとすると、失敗して例外がスローされます。最初にやりたいことは、すべてのプロセスを到着キューに追加してから、それらを並べ替えて、到着時間が最小のプロセスが到着キューから最初に出てキュー 1 に入るようにすることです。これについて助けてくれてありがとう
//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);