Interfaces Implementierende Klasse Java Collection Framework (java.util) "1-spaltige" Objektsammlungen "2-spaltige" Objektsammlungen Schüssel-Werte Collection Map HashMap, Hashtable Set HashSet keine Duplikate keine Reihefolge List Queue ArrayList, LinkedList, Vector Duplikate möglich Reiheinfolge beibehalten SortedMap TreeMap SortedSet TreeSet bedingt, dass die Elemente das Interface "Comparable implementieren Jun 2­14:49 1 Arbeiten mit _sortierten_ Collections (­> SortedSet) Objekte, die in eine SortedSet eingefügt werden, müssen das Interface Comparable implementieren! Sortierung anhand des Titels: Abbilden der 1:n-Beziehung mit einer Collection (hier SortedSet) und einem Attribut (hier Browser) Jun 2­15:05 2 Maps als 2­spaltige Datenstruktur vorstellen kann jedes Objekt sein, muss kein primitiver Datentyp sein! Schlüssel Wert Set Jun 16­14:40 3 API des Java Collection Frameworks Collection ­ add(Object o): void ­ remove (Object o): void ­ contains(Object o): boolean ­ size(): int List (zusätzlich zu Collection) ­ add(int index, Object) ­ remove(int index) ­ get(int index): Object Map ­ put(Object key, Object value): void ­ remove(Object key): void ­ values(): Collection ("rechte Spalte") ­ keySet(): Set ("linke Spalte") ­ containsKey(Object key): boolean ­ containsValue(Object value): boolean Jun 16­14:52 4 Grafen Anwendungsfälle Routenplanung ­ kürzester Weg von A nach B ­ kürzester Weg durch alle Knoten Flüsse (Abwasser, Strom, Waren) ­ Größter Durchsatz Projektmanagement ­ kürzeste Zeit ­ kritischer Pfad Google ­ Seiten, die aufeinander verlinken. Gerichteter (s. Pfeile) und gewichteter (s. Zahlen) Graf! Jun 16­15:05 5