This is an old revision of the document!
Τo interface SortedSet είναι ένα Set που διατηρεί τα στοιχεία του σε αύξουσα σειρά με βάση την υλοποίηση του interface Comparable ή ενός Comparator για τον συγκεκριμένο τύπο δεδομένων. Οι επιπλέον μέθοδοι του συγκεκριμένου interface είναι οι εξής
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); } }
Στο παραπάνω παράδειγμα δείτε πως αλλάζει η κατάταξη αν αφαιρέσετε τον Comparator από τον κατασκευαστή του αντικειμένου names.
Τo interface SortedMap είναι ένα Map που διατηρεί τα κλειδιά του σε αύξουσα σειρά με βάση την υλοποίηση του interface Comparable ή της κλάσης Comparator τα κλειδιά. Οι επιπλέον μέθοδοι του συγκεκριμένου interface είναι οι εξής