Source of TestEmployeeArraySortByLambdas.java


  1: //TestEmployeeArraySortByLambdas.java

  3: import java.util.Arrays;

  5: public class TestEmployeeArraySortByLambdas
  6: {
  7:     public static void main(String[] args)
  8:     {
  9:         Employee[] employeeArray =
 10:         {
 11:             new Employee("Frank", 5, 28),
 12:             new Employee("Jorge", 1, 19),
 13:             new Employee("Bill", 6, 34),
 14:             new Employee("Michel", 3, 10),
 15:             new Employee("Simpson", 7, 8),
 16:             new Employee("Clark", 4, 16),
 17:             new Employee("Lee", 8, 40),
 18:             new Employee("Mark", 2, 30)
 19:         };

 21:         System.out.println("\nName\tID#\tAge");
 22:         System.out.println("===================");
 23:         for (Employee e : employeeArray)
 24:         {
 25:             System.out.println(e);
 26:         }
 27:         Arrays.sort
 28:         (
 29:             employeeArray, (e1, e2) -> e1.getName().compareTo(e2.getName())
 30:         );
 31:         System.out.println("\nName\tID#\tAge");
 32:         System.out.println("===================");
 33:         for (Employee e : employeeArray)
 34:         {
 35:             System.out.println(e);
 36:         }

 38:         Arrays.sort
 39:         (
 40:             employeeArray, (e1, e2) -> e1.getId() - e2.getId()
 41:         );
 42:         System.out.println("\nName\tID#\tAge");
 43:         System.out.println("===================");
 44:         for (Employee e : employeeArray)
 45:         {
 46:             System.out.println(e);
 47:         }

 49:         Arrays.sort
 50:         (
 51:             employeeArray, (e1, e2) -> e1.getAge() - e2.getAge()
 52:         );
 53:         System.out.println("\nName\tID#\tAge");
 54:         System.out.println("===================");
 55:         for (Employee e : employeeArray)
 56:         {
 57:             System.out.println(e);
 58:         }
 59:     }
 60: }
 61: /*  Output:

 63:     Name    ID#     Age
 64:     ===================
 65:     Frank   5       28
 66:     Jorge   1       19
 67:     Bill    6       34
 68:     Michel  3       10
 69:     Simpson 7       8
 70:     Clark   4       16
 71:     Lee     8       40
 72:     Mark    2       30

 74:     Name    ID#     Age
 75:     ===================
 76:     Bill    6       34
 77:     Clark   4       16
 78:     Frank   5       28
 79:     Jorge   1       19
 80:     Lee     8       40
 81:     Mark    2       30
 82:     Michel  3       10
 83:     Simpson 7       8

 85:     Name    ID#     Age
 86:     ===================
 87:     Jorge   1       19
 88:     Mark    2       30
 89:     Michel  3       10
 90:     Clark   4       16
 91:     Frank   5       28
 92:     Bill    6       34
 93:     Simpson 7       8
 94:     Lee     8       40

 96:     Name    ID#     Age
 97:     ===================
 98:     Simpson 7       8
 99:     Michel  3       10
100:     Clark   4       16
101:     Jorge   1       19
102:     Frank   5       28
103:     Mark    2       30
104:     Bill    6       34
105:     Lee     8       40
106: */