Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Person Class
- =========
- package Cls;
- public class Person {
- public String name;
- public int height;
- public int weight;
- public Person(String name, int height, int weight) {
- this.name = name;
- this.height = height;
- this.weight = weight;
- }
- public String getName() {
- return name;
- }
- public int getHeight() {
- return height;
- }
- public int getWeight() {
- return weight;
- }
- @Override
- public String toString() {
- return "Person{" +
- "name='" + name + '\'' +
- ", height=" + height +
- ", weight=" + weight +
- '}';
- }
- }
- =======
- package Cls;
- import java.util.Comparator;
- public class ComparePersonByName implements Comparator<Person>{
- @Override
- public int compare(Person p1, Person p2) {
- return p1.getName().compareTo(p2.getName());
- }
- }
- ========
- package Cls;
- import java.util.Comparator;
- public class ComparePersonByHeight implements Comparator<Person> {
- @Override
- public int compare(Person p1, Person p2) {
- if(p1.getHeight() < p2.getHeight()){
- return -1;
- }else if(p1.getHeight() > p2.getHeight()){
- return 1;
- }else{
- return 0;
- }
- }
- }
- ========
- package Cls;
- import java.util.Comparator;
- public class ComparePersonByWeight implements Comparator<Person> {
- @Override
- public int compare(Person p1, Person p2) {
- if(p1.getWeight() < p2.getWeight()){
- return -1;
- }else if(p1.getWeight() > p2.getWeight()){
- return 1;
- }else{
- return 0;
- }
- }
- }
- ========
- package Tester;
- import Cls.ComparePersonByHeight;
- import Cls.ComparePersonByName;
- import Cls.ComparePersonByWeight;
- import Cls.Person;
- import java.util.LinkedHashSet;
- import java.util.Set;
- import java.util.TreeSet;
- public class tester {
- public static void main(String[] args) {
- Person p1 = new Person("Mike", 173, 70);
- Person p2 = new Person("Omri", 170, 50);
- Person p3 = new Person("Aya", 165, 75);
- Person p4 = new Person("David", 169, 60);
- Person p5 = new Person("Max", 180, 80);
- Set<Person> persons = new LinkedHashSet<Person>();
- persons.add(p1);
- persons.add(p2);
- persons.add(p3);
- persons.add(p4);
- persons.add(p5);
- Set[] sortedPersons = new Set[3];
- sortedPersons[0] = new TreeSet<Person>(new ComparePersonByName());
- sortedPersons[1] = new TreeSet<Person>(new ComparePersonByHeight());
- sortedPersons[2] = new TreeSet<Person>(new ComparePersonByWeight());
- for (int i=0; i<sortedPersons.length; i++){
- 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