Sortieren von Objekten in einem Set mit einem String-Wert, der alle Objekte enthalten

Ok das ist eine knifflige Sache. Ich habe eine Liste von Sätzen. Ich möchte Sie zum Sortieren der Objekte in die Sätze in Ordnung.

Vorstellen, jeden Satz als repressenting eine Klasse in einer Schule. Jedes set enthält eine person-Objekte. Ein person-Objekt enthält einen String-Wert für den Namen. Ich würde gern die Personen, die sich in dem Satz mit dem Namen, bevor ich Schleife durch und schreiben Sie Sie aus.

Ist es anywahy zu verwenden Collections.sort(); oder etwas ähnliches, um dies zu erreichen?

for (Set<Person> s : listOfAllChildren) {       
      for (Person p : s) {
        if(p.getClass().equalsIgnoreCase("Jones")){
          System.out.println(p.getName());
          }
         else if...//carry on through other classes 
        }                              
      }        

Ich weiß, dass 2+ Kinder in einer Klasse können denselben Namen haben, aber bitte ignorieren Sie diese

if in Zeile 2 ist unnötig.
Ich hoffe, die p.getClass() in Zeile 3 ist nur ein Tippfehler und Sie nicht haben eine individuelle Klasse, die für jede Einzelperson oder Familie 😉
Es gibt nur eine Klasse für eine Person, sondern viele person Objekte, die aus dieser Klasse. Ist das ein problem? Die Methode getClass gibt der Lehrer den Namen für die Klasse.Die Person-Objekte werden dynamisch aus Spreadsheet-Daten.
Ich habe den Titel geändert, um die Tatsache widerspiegeln, dass es ist ein Satz, den Sie Sortieren möchten. Rollen Sie zurück, wenn Sie nicht einverstanden sind.
getClass() nicht einen String zurückgeben (Lehrer name), aber eine Class Objekt. Vergleichen kann man es in einen String, aber das Ergebnis wird immer false. Und eine Klasse, die "definiert" getClass() um einen String zurückzugeben, der wird nicht kompiliert.

InformationsquelleAutor Julio | 2010-11-09

Schreibe einen Kommentar