I have an Class "Person" which contains a constructor with 3 parameters. Now i want a sorting option, i need it to sort by ID, Name, or Address ascending and descending
public class Person
{
private int id;
private String name;
private String addr;
public Person()
{
    id = MyTools.getInteger("ID: ");
    name = MyTools.getString("Name: ");
    addr = MyTools.getString("Address: ");
}
and here is where i want to sort it:
public static void main(String[] args) throws FileNotFoundException
{
    boolean loop = true;
    System.out.println("Choose:");
    System.out.println("\t" + "0 = Exit programm");
    System.out.println("\t" + "1 = Add new");
    System.out.println("\t" + "2 = Show");
    System.out.println("\t" + "3 = Sort");
    System.out.println("\t" + "4 = Delete");
    System.out.println("\t" + "5 = Save");
    System.out.println("\t" + "6 = Help");
    TextFile tf = new TextFile("AdressVerwaltung.txt", 'o');
    List<Person> adressen = new ArrayList<Person>();
    int listSize = 0;
    while (loop)
    {
int choice = MyTools.getInteger("Please choose which operation you want 
to execute (6 = Help): "+"\n");
    switch (choice)
    {
        case 0:
        System.out.println("Programmende");         
        for (int k = 0; k < listSize; k++)
        {
            tf.printLine(adressen.get(k).toString());
        }
        tf.close();
        loop = false;
        break;
      case 1:
  Person p = new Person();
  adressen.add(p);
  System.out.println("Data is put in Array!");
  listSize = adressen.size();
break;
case 2:
break;
case 3: 
break;
Now i want to be able to choose if i want to sort by ID, by name or by address
 
     
    