java:jfc_intf_sorted_set_map

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

java:jfc_intf_sorted_set_map [2017/02/07 21:24]
gthanos [java.util.SortedMap]
java:jfc_intf_sorted_set_map [2020/03/15 18:48]
Line 1: Line 1:
-====== Τα interfaces SortedSet και SortedMap ====== 
  
-===== java.util.SortedSet ===== 
- 
-Τ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#last()|last()]] - ** Επιστρέφει το τελευταίο στοιχείο από το //Set//. 
-  * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html#headSet(E)|headSet(E toElement)]] - ** Επιστρέφει το υποσύνολο του Set που τα στοιχεία του είναι μικρότερα από την τιμή //toElement//. 
-  * **[[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). 
- 
-<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 ===== 
- 
-Τo interface //SortedMap// είναι ένα //Map// που διατηρεί τα κλειδιά του σε αύξουσα σειρά με βάση την υλοποίηση του interface //Comparable// ή της κλάσης Comparator τα κλειδιά. Οι επιπλέον μέθοδοι του συγκεκριμένου interface είναι οι εξής 
-  * **[[http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html#firstKey()|firstKey()]] - ** Επιστρέφει το 1ο κλειδί. 
-  * **[[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#tailMap(K)|tailMap(K fromKey)]] - ** Επιστρέφει το υποσύνολο του Map που τα κλειδιά του του είναι μεγαλύτερα ή ίσα από την τιμή //fromKey//. 
-  * **[[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). 
- 
-<code java NameProperty.java> 
-import java.util.*; 
- 
-public class NameProperty { 
-  private String email; 
-  private String address; 
- 
-  public NameProperty(String mail, String address) { 
-    this.email = mail; 
-    this.address = address; 
-  } 
- 
-  public String getEmail() { return email; } 
-  public String getAddress() { return address; } 
- 
-  public void setEmail(String mail) { email = mail; } 
-  public void setAddress(String address) { this.address = address; } 
-   
-  public String toString() { return "email: "+email+", address: "+address; } 
-} 
-</code> 
- 
-<code java NameSortedMap.java> 
-import java.util.*; 
- 
-public class NameSortedMap { 
-   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) { 
-         
-        SortedMap<Name,NameProperty> users = new TreeMap<Name,NameProperty>(NameOrdering); 
-        users.put(new Name("Bob", "Travolta"), new NameProperty("bob@travolta.com", "Gklavani 37, 1st floor") ); 
-        users.put(new Name("John", "Smith"), new NameProperty("john@smith.com", "Gklavani 37, 2nd floor") ); 
-        users.put(new Name("Karl", "Ng"), new NameProperty("karl@ng.com", "Gklavani 37, 3rd floor") ); 
-        users.put(new Name("Jeff", "Smith"), new NameProperty("jeff@smith.com", "Gklavani 37, 4th floor") ); 
-        users.put(new Name("Tom", "Rich"), new NameProperty("tom@rich.com", "Gklavani 37, 5tht floor") ); 
-        for(Map.Entry<Name,NameProperty> u: users.entrySet()) 
-          System.out.println(u); 
-           
-        System.out.println("\n***Print headmap***"); 
-           
-        SortedMap<Name,NameProperty> subusers = users.headMap(new Name("Karl", "Ng")); 
-        for(Map.Entry<Name,NameProperty> u: subusers.entrySet()) 
-          System.out.println(u); 
-           
-        System.out.println("\n***Print tailmap***"); 
-           
-        subusers = users.tailMap(new Name("Karl", "Ng")); 
-        for(Map.Entry<Name,NameProperty> u: subusers.entrySet()) 
-          System.out.println(u); 
-    } 
-} 
-</code> 
- 
-|Προηγούμενο: [[:java:jfc_intf_sort | Sorting  ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:jfc_algorithms| Αλγόριθμοι ]] | 
java/jfc_intf_sorted_set_map.txt · Last modified: 2020/03/15 18:48 (external edit)