Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-------------- Person.java -----------------
- public class Person {
- private String name;
- private double weight;
- private double height;
- public Person(String name, double weight, double height) {
- this.name = name;
- this.weight = weight;
- this.height = height;
- }
- public Person() {
- this("", 0, 0);
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public double getWeight() {
- return weight;
- }
- public void setWeight(double weight) {
- this.weight = weight;
- }
- public double getHeight() {
- return height;
- }
- public void setHeight(double height) {
- this.height = height;
- }
- @Override
- public String toString() {
- return "Person{" +
- "name='" + name + '\'' +
- ", weight=" + weight +
- ", height=" + height +
- '}';
- }
- }
- //------------------- CompareByName.java ---------------------------------
- import java.util.Comparator;
- public class CompareByName implements Comparator<Person> {
- @Override
- public int compare(Person o1, Person o2) {
- return o1.getName().compareTo(o2.getName());
- }
- }
- //------------------ CompareByHeight ---------------------------------
- import java.util.Comparator;
- public class CompareByHeight implements Comparator<Person> {
- @Override
- public int compare(Person o1, Person o2) {
- if(o1.getHeight() < o2.getHeight()) {
- return -1;
- } else if(o1.getHeight() > o2.getHeight()) {
- return 1;
- } else {
- return 0;
- }
- }
- }
- //---------------------------------- CompareByWeight ----------------------------
- import java.util.Comparator;
- public class CompareByWeight implements Comparator<Person> {
- @Override
- public int compare(Person o1, Person o2) {
- if(o1.getWeight() < o2.getWeight()) {
- return -1;
- } else if(o1.getWeight() > o2.getWeight()) {
- return 1;
- } else {
- return 0;
- }
- }
- }
- //----------------------------------- Collection.java (Main class) ---------------------
- import java.util.Set;
- import java.util.TreeSet;
- public class Collection {
- public static void main(String[] args) {
- Person p1 = new Person("Eran", 90.5, 1.84);
- Person p4 = new Person("Ofri", 42.5, 1.54);
- Person p2 = new Person("Noa", 33.5, 1.32);
- Person p5 = new Person("Hadar", 16.5, 1.12);
- Person p3 = new Person("Inbar", 12.5, 1.65);
- Set[] sortedPersons = new Set[3];
- sortedPersons[0] = new TreeSet<Person>(new CompareByName());
- sortedPersons[1] = new TreeSet<Person>(new CompareByHeight());
- sortedPersons[2] = new TreeSet<Person>(new CompareByWeight());
- for(int i = 0; i < sortedPersons.length; i+=1) {
- sortedPersons[i].add(p1);
- sortedPersons[i].add(p2);
- sortedPersons[i].add(p3);
- sortedPersons[i].add(p4);
- sortedPersons[i].add(p5);
- }
- System.out.println("Sorted by name: " + sortedPersons[0]);
- System.out.println("Sorted by height: " + sortedPersons[1]);
- System.out.println("Sorted by weight: " + sortedPersons[2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement