Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2014
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. public class Person {
  2.  
  3.     private String firstName = null;
  4.     private String lastName  = null;
  5.  
  6.     public Person(String firstName, String lastName) {
  7.         this.firstName = firstName;
  8.         this.lastName  = lastName;
  9.     }
  10.  
  11.     public String getFirstName() {
  12.         return this.firstName;
  13.     }
  14.  
  15.     public String getLastName() {
  16.         return this.lastName;
  17.     }
  18. }
  19.  
  20. import java.util.Comparator;
  21.  
  22. public class PersonComparator implements Comparator<Person> {
  23.  
  24.     @Override
  25.     public int compare(Person p1, Person p2) {
  26.         return p1.getLastName().compareTo(p2.getLastName());
  27.     }
  28.  
  29.     @Override
  30.     public boolean equals(Object obj) {
  31.         return obj.equals(this);
  32.     }
  33. }
  34.  
  35. import java.util.ArrayList;
  36.  
  37. public class ComparatorExample {
  38.    
  39.     public static void main(String[] args) {
  40.  
  41.         ArrayList<Person> addressBook = new ArrayList<>();
  42.  
  43.         addressBook.add(new Person("Christopher", "Nolan"));
  44.         addressBook.add(new Person("JJ", "Abrams"));
  45.         addressBook.add(new Person("David", "Lynch"));
  46.         addressBook.add(new Person("Tim", "Burton"));
  47.  
  48.         for (Person p : addressBook) {
  49.             System.out.println(p.getLastName() + ", " + p.getFirstName());
  50.         }
  51.  
  52.         //addressBook.sort(new PersonComparator());
  53.         addressBook.sort((Person p1, Person p2) -> p1.getLastName().compareTo(p2.getLastName()));
  54.         System.out.println("\n-- now sorted -- \n");
  55.  
  56.         for (Person p : addressBook) {
  57.             System.out.println(p.getLastName() + ", " + p.getFirstName());
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement