Priority queues von Objekten in Java

Hallo, ich bin ein bisschen verloren n die priority-queues und Komparator.
Ich nicht wirklich sehen, wie man einen Komparator in java
Also, was ich habe, ist, dass Sie mir einen Fehler und was ich gelesen habe, ist keine Hilfe für mich
http://www.tutorialspoint.com/java/java_using_comparator.htm
Dieser Beitrag Spiel mir einige Ideen, aber ich bin mir immer noch nicht, wie es zu tun
Wie benutze ich eine PriorityQueue?

Was ich habe, ist eine Klasse, die ein Objekt erstellt, mit einer Priorität, die Ankunftszeit und die Endzeit.
Ich habe auch eine Reihe von priority-queues, die Sie in. Wenn ich damit beginne, Stelle ich Sie in die Ankunft Warteschlange, um Sie zu Sortieren und dann sehen, was kam in der ersten und platzieren Sie diese in die Warteschlange ein. Aber wenn ich versuche, fügen Sie eine zweite, um die Ankunft Warteschlange es fehlschlägt und eine exception wirft.
Was soll ich zuerst tun ist, um alle Prozesse Ankunft Warteschlange und dann Sortieren Sie Sie so der eine mit der kleinsten Ankunftszeit wird die erste von der Ankunft Warteschlange und in die Warteschlange ein.
Vielen Dank für jede Hilfe mit diesem

    //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);
  • "... es fehlschlägt und eine exception wirft." Welche, und was ist die Fehlermeldung?
  • Warum brauchen Sie mehrere priority queues? Und warum machen die Ihre Objekte haben eine "Priorität", wenn Sie wirklich wollen, um Sie zu vergleichen, indem Sie die Zeit der Ankunft? Und was meinst du mit "die Warteschlange ein" - Sie haben 4 Warteschlangen abgesehen von der Ankunft Warteschlange...?
  • Ein Comparator ist in der Regel eine Schnittstelle, die Sie implementieren müssen. Ich kann nicht sehen, wo Sie implementiert diese Schnittstelle.
  • wenn Sie einen Blick auf stackoverflow.com/questions/683041/... Sie sehen, er erklärt die Komparator-int die main-Methode, dass das, was ich versuche zu tun.
  • Ja, Jon definiert eine Klasse, die implementiert Comparator (seine StringLengthComparator), und dann instanziiert es. Sie haben das nicht getan, die Sie versuchen zu nennen new Comparator() direkt, dem wird das kompilieren fehlschlagen, weil java.util.Comparator ist eine Schnittstelle.
InformationsquelleAutor MNM | 2012-10-16
Schreibe einen Kommentar