Kann ein Objekt mehrere Methoden Vergleichen für die Bestellung, basierend auf unterschiedlichen Werten?

Sagen, ich habe ein Song-Objekt wie

public Song(){
  String artist, title;
  StringBuilder lyrics;
  int rank;
}

Ist es möglich, dass mehrere Methoden vergleichen, die, je nach Sammlung, Sortierung nach einem bestimmten Feld? Dieses Objekt hat bereits eine compare-Methode für die Bestellung über den Künstler und Titel Werten, und ich möchte in der Lage sein, um basierend auf dem Rang.

Mein Aktuelles Projekt verlangt von uns, führen Sie eine Suche auf den Text des Liedes und geben Sie einen hohen zu niedrigen match-Liste. Ich will eine PriorityQueue zu halten die Spiele basierten auf Rang Wert.

Normalerweise würde ich Sie einfach erstellen Sie ein anderes Objekt, halten Sie den Song gedrückt und der rank, aber bei diesem Projekt nicht nur Stecker in eine GUI-Schnittstelle, die die Professorin, die erfordert keine Ergebnisse weitergegeben werden, die in einem Lied[] array, sondern druckt die ersten zehn Werte als Rang, Titel, Künstler.

Kann ich verwenden toArray() zum konvertieren der Warteschlange, aber wenn ich es speichern alles andere als Song-Objekte, wird es werfen eine ArrayStoreException.

So ist dies möglich, oder muss ich ändern Sie die bestehende Methode vergleichen zum Sortieren von integer-Wert?

InformationsquelleAutor Jason | 2010-11-23

Schreibe einen Kommentar