Differences
This shows you the differences between two versions of the page.
| Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
java:jfc_intf_sort [2020/03/12 16:53] gthanos [Σύγκριση αντικειμένων] |
java:jfc_intf_sort [2020/03/15 18:42] gthanos [Υλοποιώντας την ισότητα αντικειμένων τύπου Student] |
| |
| <code java Student.java> | <code java Student.java> |
| public class Student implements java.lang.Comparable<Student> { | public class Student { |
| private String firstName; | private String firstName; |
| private String lastName; | private String lastName; |
| ==== Υλοποιώντας το interface Comparable για δικούς μας τύπους δεδομένων ==== | ==== Υλοποιώντας το interface Comparable για δικούς μας τύπους δεδομένων ==== |
| |
| Παρακάτω δίνεται η υλοποίηση του interface [[https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html|java.lang.Comparable]] για την κλάση Student. | Παρακάτω δίνεται η υλοποίηση του interface [[https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html|java.lang.Comparable]] για την κλάση Student. Η υλοποίηση της μεθόδου compareTo συγκρίνει τα επίθετα των δύο φοιτητών. Εάν είναι διαφορετικά επιστρέφει τη λεξικογραφική διαφορά τους. Εάν είναι ίδια επιστρέφει τη λεξικογραφική διαφορά των ονομάτων τους. |
| |
| <code java Student.java> | <code java Student.java> |
| ===== Συγκρίνοντας με χρήση ενός 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 με διαφορετική μέθοδο από την μέθοδο με την οποία συγκρίνονται ή ότι θέλουμε να συγκρίνουμε αντικείμενα τα οποία δεν υλοποιούν το 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]], όπως παρακάτω |
| |
| <code java StudentComparator.java> | <code java StudentComparator.java> |