package javapeople; public class Person { private String surname; private String name; public Person(String name, String surname) { this.surname = surname; this.name = name; } public String getSurname() { return surname; } public String getName() { return name; } public String toString() { return name + " " + surname; } }
SortBySurname.java
package javapeople; import java.util.Comparator; public class SortBySurname implements Comparator <Person> { @Override public int compare(Person o1, Person o2) { return o1.getSurname().compareTo(o2.getSurname()); } }
SortByName.java
package javapeople; import java.util.Comparator; public class SortByName implements Comparator <Person>{ @Override public int compare(Person o1, Person o2) { return o1.getName().compareTo(o2.getName()); } }
JavaPeople.java
package javapeople; import java.util.ArrayList; import java.util.Collections; /** * @web java-buddy.blogspot.com */ public class JavaPeople { public static void main(String[] args) { ArrayList<Person> peopleList = new ArrayList<>(); peopleList.add(new Person("Albert", "Einstein")); peopleList.add(new Person("Isaac", "Newton")); peopleList.add(new Person("Thomas", "Edison")); peopleList.add(new Person("Charles", "Darwin")); peopleList.add(new Person("James", "Watt")); System.out.println("Unsorted:"); System.out.println(peopleList); Collections.sort(peopleList, new SortBySurname()); System.out.println("Sorted by Surname:"); System.out.println(peopleList); Collections.sort(peopleList, new SortByName()); System.out.println("Sorted by Name:"); System.out.println(peopleList); } }