Mega Code Archive

 
Categories / Java Tutorial / Collections
 

Sorting Objects using insertion sort

class Person {   private String lastName;   private String firstName;   private int age;   public Person(String last, String first, int a) {     lastName = last;     firstName = first;     age = a;   }   public String toString() {     return "Last name: " + lastName + " First name: " + firstName + " Age: " + age;   }   public String getLast() {     return lastName;   } } public class MainClass {   public static void main(String[] args) {     Person[] persons = new Person[] {          new Person("a", "b", 23),          new Person("i", "a", 25),         new Person("y", "h", 26),          new Person("d", "e", 27) };     System.out.println("Before sorting:");     for (Person p : persons) {       System.out.println(p);     }     insertionSort(persons);     System.out.println("After sorting:");     for (Person p : persons) {       System.out.println(p);     }   }   public static void insertionSort(Person[] persons) {     int in, out;     for (out = 1; out < persons.length; out++) {       Person temp = persons[out];       in = out;       while (in > 0 && persons[in - 1].getLast().compareTo(temp.getLast()) > 0) {         persons[in] = persons[in - 1];         --in;       }       persons[in] = temp;     }   } } Last name: y First name: h Age: 26 Last name: d First name: e Age: 27 After sorting: Last name: a First name: b Age: 23 Last name: d First name: e Age: 27 Last name: i First name: a Age: 25 Last name: y First name: h Age: 26