Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| java:jfc_intf_sort [2020/03/16 17:37] – [Συγκρίνοντας με χρήση ενός Comparator object] gthanos | java:jfc_intf_sort [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 |
|---|
| | |
| public boolean equals(Object o) { | public boolean equals(Object o) { |
| | if(o == null) |
| | return false; |
| return (o instanceof Student && o.hashCode() == this.hashCode()); | return (o instanceof Student && o.hashCode() == this.hashCode()); |
| } | } |
| ===== Συγκρίνοντας με χρήση ενός Comparator object ===== | ===== Συγκρίνοντας με χρήση ενός Comparator object ===== |
| |
| [[:java:comparable#%CF%84%CE%BF_interface_javautilcomparator|Επαναλαμβάνοντας τη συλλογιστική]] για το interface [[https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html|java.util.Comparator]], ας υποθέσουμε ότι θέλουμε να συγκρίνουμε τα αντικείμενα τύπου Student με διαφορετική πολιτική από αυτή που είναι υλοποιημένη στη μέθοδο ''compareTo'' ή ότι θέλουμε να συγκρίνουμε αντικείμενα τα οποία δεν υλοποιούν το interface //Comparable//. Σε αυτή την περίπτωση θα χρειαστούμε μία βοηθητική κλάση του τύπου [[http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html|java.util.Comparator]], όπως παρακάτω | [[:java:comparable#%CF%84%CE%BF_interface_javautilcomparator|Επαναλαμβάνοντας τη συλλογιστική]] για το interface [[https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html|java.util.Comparator]], ας υποθέσουμε ότι θέλουμε να συγκρίνουμε τα αντικείμενα τύπου Student με διαφορετική πολιτική από αυτή που είναι υλοποιημένη στη μέθοδο ''compareTo'' ή ότι θέλουμε να συγκρίνουμε αντικείμενα τα οποία δεν υλοποιούν το interface //Comparable//. Σε αυτή την περίπτωση θα χρειαστούμε μία βοηθητική κλάση του τύπου [[http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html|java.util.Comparator]]. Στο παρακάτω παράδειγμα, με τη βοήθεια της κλάσης StudentComparator γίνεται η σύγκριση αποκλειστικά με βάση το επίθετο και όχι με το συνδυασμό επίθετο και μικρό όνομα. |
| |
| <code java StudentComparator.java> | <code java StudentComparator.java> |