Guest User

Untitled

a guest
Jan 4th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class SortLexicographicOrder {
  4. public static void main(String[] args) {
  5. Person[] people = {
  6. new Person("C", "F", 30),
  7. new Person("B", "M", 40),
  8. new Person("D", "M", 20),
  9. new Person("B", "F", 40),
  10. new Person("A", "F", 20)
  11. };
  12.  
  13. if (true) {
  14. // Java8
  15. Arrays.sort(people,
  16. Comparator.comparingInt(Person::getAge)
  17. .thenComparing(Person::getName)
  18. .thenComparing(Person::getGender));
  19. } else {
  20. // Java7
  21. Arrays.sort(people,
  22. new Comparator<Person>() {
  23. @Override
  24. public int compare(Person o1, Person o2) {
  25. int ret;
  26. ret = Integer.compare(o1.getAge(), o2.getAge());
  27. if (ret != 0)
  28. return ret;
  29. ret = o1.getName().compareTo(o2.getName());
  30. if (ret != 0)
  31. return ret;
  32. return o1.getGender().compareTo(o2.getGender());
  33. }
  34. });
  35. }
  36.  
  37. for (Person e : people)
  38. System.out.println(e);
  39. }
  40. }
  41.  
  42. class Person {
  43. private final String name;
  44. private final String gender;
  45. private final int age;
  46. public Person(String n, String g, int a) {
  47. name = n;
  48. gender = g;
  49. age = a;
  50. }
  51. public String getName() { return name; }
  52. public String getGender() { return gender; }
  53. public int getAge() { return age; }
  54. public String toString() {
  55. return "{"+name+","+gender+","+age+"}";
  56. }
  57. }
Add Comment
Please, Sign In to add comment