Diese Seite drucken

Sortierte Collections

  • die Set - und Map Collections sind unsortiert
  • für sortierte Set - und Map Collections stehen SortedMap und SortedSet zur Verfügung


Interface Comparable
  • besitzt eine einzige Methode
(bild)

  • bei der natürlichen Ordnung muss sichergestellt werden dass die Elemente ein compareTo() Methode besitzen (ist z.B. bei String, Char und Double der Fall), ansonsten muss eine erstellt werden und das Interface Comparable implementiert


Set   ===>   SortedSet
  • ist implementiert in TreeSet

  • Implementierung
    TreeSet UnserTreeSet1 = new TreeSet(new Auflistung_umkehren());
    



  • TreeSet befüllen
    UnserTreeSet1.add("Test10");
    UnserTreeSet1.add("Test07");
    UnserTreeSet1.add("Test02");
    UnserTreeSet1.add("Test05");
    UnserTreeSet1.add("Test03");
    UnserTreeSet1.add("Test00");
    UnserTreeSet1.add("Test17");
    



  • TreeSet sortieren / beim Erstellen der Instanz mit dieser Comparator Klasse
    class Auflistung_umkehren implements Comparator {
        public int compare(Object UnserObjekt1, Object UnserObjekt2) {
            return(((String)UnserObjekt2).compareTo((String)UnserObjekt1));
        }
    }
    



  • TreeSet ausgeben
    Iterator it = UnserTreeSet1.iterator();
    
    while(it.hasNext()) {
        System.out.println(it.next());
    }
    



  • wichtige Methoden


Map   ===>   SortedMap
  • ist wie SortedSet aufgebaut
  • ist in TreeMap implementiert

  • Implementierung
    TreeMap UnserTreeMap1 = new TreeMap(new Auflistung_umkehren());
    



  • TreeMap befüllen
    UnserTreeMap1.put("Key010","Test10");
    UnserTreeMap1.put("Key007","Test07");
    UnserTreeMap1.put("Key002","Test02");
    UnserTreeMap1.put("Key005","Test05");
    UnserTreeMap1.put("Key003","Test03");
    UnserTreeMap1.put("Key000","Test00");
    UnserTreeMap1.put("Key017","Test17");
    



  • TreeMap sortieren
    class Auflistung_umkehren implements Comparator {
        public int compare(Object UnserObjekt1, Object UnserObjekt2) {
            return(((String)UnserObjekt2).compareTo((String)UnserObjekt1));
        }
    }
    



  • TreeMap ausgeben
    Collection col = UnserTreeMap1.values();   // Umwandlung in Collection
    
    Iterator it = col.iterator();
    
    while(it.hasNext()) {
        System.out.println(it.next());
    }
    



  • wichtige Methoden