Mögliche Duplizieren:
Sort List Alphabeticallyjava - alphabetische Reihenfolge (Liste)
Wie speichere ich meine Eingaben in alphabetischer Reihenfolge, ich bin Eingabe von Namen in eine Arraylist:
persons.add(person);
Wie geht das?
Mögliche Duplizieren:
Sort List Alphabeticallyjava - alphabetische Reihenfolge (Liste)
Wie speichere ich meine Eingaben in alphabetischer Reihenfolge, ich bin Eingabe von Namen in eine Arraylist:
persons.add(person);
Wie geht das?
Try this:
java.util.Collections.sort(people);
Verwendung TreeSet statt Arraylist
Nein, die Sache ist, dass ich ArrayList verwenden muss, weil ich es lernen muss. – Jake
Das ist nicht wirklich eine sehr gute Antwort. TreeSet ist ein Set, keine Liste. Wenn er dieser Antwort blind folgt, könnte er Probleme (insbesondere keine doppelten Elemente) eingehen, ohne zu wissen, warum. –
Die Frage war, wie die Elemente in alphabetischer Reihenfolge gespeichert werden, keine Einschränkungen für die Sammlung in der Frage. Die Tatsache, dass er Array-Liste verwendet, bedeutet nichts. –
Collection<Person> listPeople = new ArrayList<Person>();
Die Klasse Person.java wird Vergleichbare implementiert
public class Person implements Comparable<Person>{
public int compareTo(Person person) {
if(this.name != null && person.name != null){
return this.name.compareToIgnoreCase(person.name);
}
return 0;
}
}
Sobald Sie diese haben, in der Klasse, die Sie Wenn Sie weitere Personen hinzufügen, geben Sie Folgendes ein:
Collections.sort(listPeople);
java.util.ArrayList() bietet keine sort() Methode an! Von welcher Programmiersprache sprichst du? –
Meine schlechte, seine Collections.sort (listPeople); – pringlesinn
Seltsam. Ich bekomme diesen Fehler nur, wenn ich von der Kommandozeile aus kompiliere - in Eclipse hat 'ArrayList' eine' .sort' Methode. Vielleicht ist es ein Versions-Problem? – BrainSlugs83
implementiert Comparator<T>
Schnittstelle
class A implements Comparator <Person> {
@Override
public int compare(Person o1, Person o2) {
if(o1.getName() != null && o2.getName() != null){
return o1.getName().compareTo(o2.getName());
}
return 0;
}
}
dann Collections.sort(/* list here */, /* comparator here*/)
Nur Methode der Sammlung verwenden Sortieren verwenden, wo Sie die Personen Liste übergeben. –
Warum machen Sie nicht gemeinsam Ihre Hausaufgaben: http://stackoverflow.com/questions/1946668/sorting-using-comparator-descending-order-user-defined-classes. Es ist eine soziale Aktivität :) –