Sortieren einer ArrayList in Java -Sprache
Frage
Ich habe eine ArrayList eingerichtet. Ich habe auch Eingabeinstimmungen eingerichtet, damit der Benutzer eine Zeichenfolge eingeben kann, dann eine Ganzzahl, dann eine Zeichenfolge (der Vorname, das Alter und der Nachname).
Ich muss die ArrayList nach dem Nachnamen sortieren. Der Code, den ich bisher eingegeben habe, ist alles unter der Hauptmethode:-
public static void main(String[] args) {
Name Name[] = new Name[50];
int count = 0;
for (int i=0; i<50; i++)
NewName[i] = new Name();
//ADD NEW TO ARRAYLIST NAME
String FName = JOptionPane.showInputDialog("first name");
int age = Integer.parseInt(JOptionPane.showInputDialog("age"));
String LName = JOptionPane.showInputDialog("last name");
NewName[count] = new Name(FName, age, LName);
count = count++;
}
//ITEMS SORT BY LAST NAME
//CODE FOR SORT GOES HERE
Lösung
Sich ansehen Vergleichbar, Vergleicher, Arrays.sort und Sammlung.Sort
import java.util.Arrays;
class Name implements Comparable<Name> {
private String lastName;
//Other fields
public Name(String lastName){
this.lastName = lastName;
}
public int compareTo(Name o) {
//Null checks etc
return lastName.compareTo(o.lastName);
}
public String getLastName(){
return lastName;
}
//Getter and setter methods
}
public class Test{
public static void main(String[] args) {
Name[] arr = new Name[]{new Name("AAC"), new Name("AAD"), new Name("AAA"),new Name("ABC"), new Name("AADDE")};
Arrays.sort(arr);
for(Name nm:arr){
System.out.println(nm.getLastName());
}
}
}
Andere Tipps
Dies ist nicht als beleidigend gedacht, aber ich würde vorschlagen, die Grundlagen zu lernen, bevor Sie zu Schwingen gehen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow