Sagen, ich habe ein Lied Objekt wieKann ein Objekt mehrere Compare-Methoden für die Bestellung basierend auf verschiedenen Werten haben?
public Song(){
String artist, title;
StringBuilder lyrics;
int rank;
}
Ist es möglich, mehr Methoden zu vergleichen haben, die in Abhängigkeit von der Sammlung, Sortierung nach einem bestimmten Feld verwendet? Dieses Objekt hat bereits eine Vergleichsmethode zum Ordnen basierend auf den Künstler- und Titelwerten, und ich würde gerne in der Lage sein, basierend auf dem Rang zu ordnen.
Mein aktuelles Projekt erfordert, dass wir eine Suche nach den Songtexten durchführen und eine Liste mit hohen bis niedrigen Übereinstimmungen erstellen. Ich möchte eine PriorityQueue verwenden, um die Matches basierend auf dem Rangwert zu halten.
Normalerweise würde ich einfach ein anderes Objekt erstellen, um den Song und den Rang zu halten, aber dieses Projekt wird nicht nur in eine vom Professor gelieferte GUI-Schnittstelle gesteckt, die irgendwelche Ergebnisse in einem Song [] -Array erfordert, sondern ausgibt die ersten zehn Werte als Rang, Künstler, Titel.
Ich kann toArray() verwenden, um die Warteschlange zu konvertieren, aber wenn ich es verwende, um etwas anderes als Song-Objekte zu speichern, wird es eine ArrayStoreException werfen.
So ist das möglich, oder muss ich die vorhandene Vergleichsmethode ändern, um nach ganzzahligen Werten zu sortieren?
das ist, was ich tat, wirkt wie ein Zauber – Jason