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
War es hilfreich?

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
scroll top