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_sorted_set_map [2015/03/17 13:06] gthanos [java.util.SortedSet] |
java:jfc_intf_sorted_set_map [2015/03/23 07:01] gthanos [java.util.SortedSet] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== java.util.SortedSet ===== | ===== java.util.SortedSet ===== | ||
- | Τo interface //SortedSet// είναι ένα //Set// που διατηρεί τα στοιχεία του σε αύξουσα σειρά με βάση την υλοποίηση του interface //Comparable// ή της κλάσης Comparator για τον συγκεκριμένο τύπο δεδομένων. Οι επιπλέον μέθοδοι του συγκεκριμένου interface είναι οι εξής | + | Τo interface //SortedSet// είναι ένα //Set// που διατηρεί τα στοιχεία του σε αύξουσα σειρά με βάση την υλοποίηση του interface //Comparable// ή ενός //Comparator// για τον συγκεκριμένο τύπο δεδομένων. Οι επιπλέον μέθοδοι του συγκεκριμένου interface είναι οι εξής |
* **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#first()|first()]] - ** Επιστρέφει το 1ο στοιχείο από το //Set//. | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#first()|first()]] - ** Επιστρέφει το 1ο στοιχείο από το //Set//. | ||
* **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#last()|last()]] - ** Επιστρέφει το τελευταίο στοιχείο από το //Set//. | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#last()|last()]] - ** Επιστρέφει το τελευταίο στοιχείο από το //Set//. | ||
Line 9: | Line 9: | ||
* **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#tailSet(E)|tailSet(E fromElement)]] - ** Επιστρέφει το υποσύνολο του Set που τα στοιχεία του είναι μεγαλύτερα ή ίσα από την τιμή //fromElement//. | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#tailSet(E)|tailSet(E fromElement)]] - ** Επιστρέφει το υποσύνολο του Set που τα στοιχεία του είναι μεγαλύτερα ή ίσα από την τιμή //fromElement//. | ||
* **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#subSet(E,%20E)|subSet(E fromElement, E toElement)]] - ** Επιστρέφει το υποσύνολο του Set από fromElement (μαζί με το fromElement) έως toElement (χωρίς το toElement). | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#subSet(E,%20E)|subSet(E fromElement, E toElement)]] - ** Επιστρέφει το υποσύνολο του Set από fromElement (μαζί με το fromElement) έως toElement (χωρίς το toElement). | ||
+ | |||
+ | <code java NameSortedSet.java> | ||
+ | iimport java.util.*; | ||
+ | |||
+ | public class NameSortedSet { | ||
+ | static final Comparator<Name> NameOrdering = | ||
+ | new Comparator<Name>() { | ||
+ | public int compare(Name n1, Name n2) { | ||
+ | int cmp = n1.firstName().compareTo(n2.firstName() ); | ||
+ | return (cmp != 0 ? cmp : n1.lastName().compareTo(n2.lastName() )); | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | | ||
+ | SortedSet<Name> names = new TreeSet<Name>(NameOrdering); | ||
+ | names.add(new Name("Bob", "Travolta")); | ||
+ | names.add(new Name("John", "Smith")); | ||
+ | names.add(new Name("Karl", "Ng")); | ||
+ | names.add(new Name("Jeff", "Smith")); | ||
+ | names.add(new Name("Tom", "Rich")); | ||
+ | for(Name n: names) | ||
+ | System.out.println(n); | ||
+ | | ||
+ | System.out.println("\n***Print headset***"); | ||
+ | | ||
+ | SortedSet<Name> subnames = names.headSet(new Name("Karl", "Ng")); | ||
+ | for(Name n: subnames) | ||
+ | System.out.println(n); | ||
+ | | ||
+ | System.out.println("\n***Print tailset***"); | ||
+ | | ||
+ | subnames = names.tailSet(new Name("Karl", "Ng")); | ||
+ | for(Name n: subnames) | ||
+ | System.out.println(n); | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <WRAP center round 60% tip>Στο παραπάνω παράδειγμα δείτε πως αλλάζει η κατάταξη αν αφαιρέσετε τον //Comparator// από τον κατασκευαστή του αντικειμένου //names//. | ||
+ | </WRAP> | ||
===== java.util.SortedMap ===== | ===== java.util.SortedMap ===== | ||
Line 16: | Line 57: | ||
* **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#lastKey()|lastKey()]] - ** Επιστρέφει το τελευταίο κλειδί. | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#lastKey()|lastKey()]] - ** Επιστρέφει το τελευταίο κλειδί. | ||
* **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#headMap(K)|headMap(K toKey)]] - ** Επιστρέφει το υποσύνολο του Map που τα κλειδιά του είναι μικρότερα από την τιμή //toKey//. | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#headMap(K)|headMap(K toKey)]] - ** Επιστρέφει το υποσύνολο του Map που τα κλειδιά του είναι μικρότερα από την τιμή //toKey//. | ||
- | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#tailMap(E)|tailMap(E fromKey)]] - ** Επιστρέφει το υποσύνολο του Map που τα κλειδιά του του είναι μεγαλύτερα ή ίσα από την τιμή //fromKey//. | + | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#tailMap(K)|tailMap(K fromKey)]] - ** Επιστρέφει το υποσύνολο του Map που τα κλειδιά του του είναι μεγαλύτερα ή ίσα από την τιμή //fromKey//. |
- | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#subMap(E,%20E)|subMap(K fromKey, K toKey)]] - ** Επιστρέφει το υποσύνολο του Set από fromKey (μαζί με το fromKey) έως toKey (χωρίς το toKey). | + | * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#subMap(K,%20K)|subMap(K fromKey, K toKey)]] - ** Επιστρέφει το υποσύνολο του Set από fromKey (μαζί με το fromKey) έως toKey (χωρίς το toKey). |