X-Git-Url: https://git.piment-noir.org/?p=Persons_Comparator.git;a=blobdiff_plain;f=src%2FPerson.java;h=5d9d812924ec1daf2c66351c4f90272a397e7bce;hp=4eabb1b9b651a662d6994799bbab666b78cae90f;hb=5687dc10a68b52d28b63151d8c16a45775ef2e77;hpb=9b3bfcdd95253a04ed12a676ee29a9d777c1e496 diff --git a/src/Person.java b/src/Person.java index 4eabb1b..5d9d812 100644 --- a/src/Person.java +++ b/src/Person.java @@ -1,15 +1,12 @@ -import java.util.ArrayList; import java.util.Comparator; -import java.util.ListIterator; -public class Person implements Comparable, Comparator { +public class Person implements Comparator { private Firstname firstname; private Origin origin; private Size size; private Weight weight; private Eye eye; - //List of persons in the database to compare to. - private ArrayList personArrayList; + private Integer distanceFromReference; Person() { setFirstname(new Firstname()); @@ -17,7 +14,7 @@ public class Person implements Comparable, Comparator { setPersonSize(new Size()); setWeight(new Weight()); setEye(new Eye()); - setPersonArrayList(new ArrayList<>()); + setDistanceFromReference(0); } Person(String firstname, String country, Integer size, Integer weight, String colorEye) { @@ -26,7 +23,7 @@ public class Person implements Comparable, Comparator { setPersonSize(new Size(size)); setWeight(new Weight(weight)); setEye(new Eye(colorEye)); - setPersonArrayList(new ArrayList<>()); + setDistanceFromReference(0); } public void setFirstname(Firstname firstname) { @@ -69,25 +66,12 @@ public class Person implements Comparable, Comparator { return eye; } - public void setPersonArrayList(ArrayList personArrayList) { - this.personArrayList = personArrayList; + public void setDistanceFromReference(Integer distanceFromReference) { + this.distanceFromReference = distanceFromReference; } - public ArrayList getPersonArrayList() { - return personArrayList; - } - - public void displayArrayList(ArrayList arrayList) { - ListIterator iter = arrayList.listIterator(); - Integer i = 0; - while (iter.hasNext()) { - System.out.println(i.toString() + " " + iter.next()); - i++; - } - } - - public void displayPersonArrayList() { - this.displayArrayList(this.personArrayList); + public Integer getDistanceFromReference() { + return distanceFromReference; } @Override @@ -98,18 +82,18 @@ public class Person implements Comparable, Comparator { ", size=" + size.getSize() + ", weight=" + weight.getWeight() + ", eye=" + eye.getStrColor() + "(" + this.getEye().getColor().getRed() + "," + this.getEye().getColor().getGreen() + "," + this.getEye().getColor().getBlue() + ")" + + ", distanceFromReference=" + this.getDistanceFromReference() + '}'; } - @Override - public int compareTo(Person person) { - return this.firstname.compareTo(person.getFirstname()) + this.origin.compareTo(person.getOrigin()) - + this.size.compareTo(person.getPersonSize()) + this.weight.compareTo(person.getWeight()) - + this.eye.compareTo(person.getEye()); + public Integer distanceTo(Person person) { + return this.getFirstname().distanceTo(person.getFirstname()) + this.getOrigin().distanceTo(person.getOrigin()) + + this.getPersonSize().distanceTo(person.getPersonSize()) + this.getWeight().distanceTo(person.getWeight()) + + this.getEye().distanceTo(person.getEye()); } @Override public int compare(Person p1, Person p2) { - return p1.compareTo(p2); + return p1.getDistanceFromReference().compareTo(p2.getDistanceFromReference()); } }