Advertisement
eranseg

Collections

Sep 18th, 2019
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.39 KB | None | 0 0
  1. //-------------- Person.java -----------------
  2.  
  3. public class Person {
  4.  
  5.     private String name;
  6.     private double weight;
  7.     private double height;
  8.  
  9.     public Person(String name, double weight, double height) {
  10.         this.name = name;
  11.         this.weight = weight;
  12.         this.height = height;
  13.     }
  14.  
  15.     public Person() {
  16.         this("", 0, 0);
  17.     }
  18.  
  19.     public String getName() {
  20.         return name;
  21.     }
  22.  
  23.     public void setName(String name) {
  24.         this.name = name;
  25.     }
  26.  
  27.     public double getWeight() {
  28.         return weight;
  29.     }
  30.  
  31.     public void setWeight(double weight) {
  32.         this.weight = weight;
  33.     }
  34.  
  35.     public double getHeight() {
  36.         return height;
  37.     }
  38.  
  39.     public void setHeight(double height) {
  40.         this.height = height;
  41.     }
  42.  
  43.     @Override
  44.     public String toString() {
  45.         return "Person{" +
  46.                 "name='" + name + '\'' +
  47.                 ", weight=" + weight +
  48.                 ", height=" + height +
  49.                 '}';
  50.     }
  51. }
  52.  
  53. //------------------- CompareByName.java ---------------------------------
  54.  
  55. import java.util.Comparator;
  56.  
  57. public class CompareByName implements Comparator<Person> {
  58.  
  59.     @Override
  60.     public int compare(Person o1, Person o2) {
  61.         return o1.getName().compareTo(o2.getName());
  62.     }
  63. }
  64.  
  65. //------------------ CompareByHeight ---------------------------------
  66.  
  67. import java.util.Comparator;
  68.  
  69. public class CompareByHeight implements Comparator<Person> {
  70.     @Override
  71.     public int compare(Person o1, Person o2) {
  72.         if(o1.getHeight() < o2.getHeight()) {
  73.             return -1;
  74.         } else if(o1.getHeight() > o2.getHeight()) {
  75.             return 1;
  76.         } else {
  77.             return 0;
  78.         }
  79.     }
  80. }
  81.  
  82. //---------------------------------- CompareByWeight ----------------------------
  83.  
  84. import java.util.Comparator;
  85.  
  86. public class CompareByWeight implements Comparator<Person> {
  87.     @Override
  88.     public int compare(Person o1, Person o2) {
  89.         if(o1.getWeight() < o2.getWeight()) {
  90.             return -1;
  91.         } else if(o1.getWeight() > o2.getWeight()) {
  92.             return 1;
  93.         } else {
  94.             return 0;
  95.         }
  96.     }
  97. }
  98.  
  99. //----------------------------------- Collection.java (Main class) ---------------------
  100.  
  101. import java.util.Set;
  102. import java.util.TreeSet;
  103.  
  104. public class Collection {
  105.  
  106.     public static void main(String[] args) {
  107.         Person p1 = new Person("Eran", 90.5, 1.84);
  108.         Person p4 = new Person("Ofri", 42.5, 1.54);
  109.         Person p2 = new Person("Noa", 33.5, 1.32);
  110.         Person p5 = new Person("Hadar", 16.5, 1.12);
  111.         Person p3 = new Person("Inbar", 12.5, 1.65);
  112.  
  113.         Set[] sortedPersons = new Set[3];
  114.  
  115.         sortedPersons[0] = new TreeSet<Person>(new CompareByName());
  116.         sortedPersons[1] = new TreeSet<Person>(new CompareByHeight());
  117.         sortedPersons[2] = new TreeSet<Person>(new CompareByWeight());
  118.         for(int i = 0; i < sortedPersons.length; i+=1) {
  119.             sortedPersons[i].add(p1);
  120.             sortedPersons[i].add(p2);
  121.             sortedPersons[i].add(p3);
  122.             sortedPersons[i].add(p4);
  123.             sortedPersons[i].add(p5);
  124.         }
  125.  
  126.         System.out.println("Sorted by name: " + sortedPersons[0]);
  127.         System.out.println("Sorted by height: " + sortedPersons[1]);
  128.         System.out.println("Sorted by weight: " + sortedPersons[2]);
  129.     }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement