Java Collections Framework
Kursziele
Die Collection-API erlaubt die effiziente Verwaltung von Daten und das Operieren auf Daten mit passenden Algorithmen. Die Bibliothek gibt es seit Java 1.2 und erfuhr unter Java 5 mit dem Einzug der Generics eine große Änderung. Das Seminar stellt alle Datenstrukturen mit ihren generischen Deklarationen detailliert vor und gibt Entwicklern Entscheidungshilfen für die Wahl der optimalen Datenstruktur in Bezug auf Speicherplatz oder Performance. Zusätzlich geht die Weiterbildung auf Klassen und Schnittstellen für multithreaded Anwendungen ein und stellt Open-Source-Bibliotheken vor, die die Lücken in der Standardbibliothek schließen.
Zielgruppe
Software-Entwickler, Programmierer, SystementwicklerEmpfohlene Dauer
2 Tage, insgesamt 12 ZeitstundenInhalte
![[LOGO]](../../images/seminare/logos/java.png)
- Neue Spracheigenschaften in Java 5
- Autoboxing (Un-)Boxing
- Erweitertes for
- Variable Argumentlisten (Vargs)
- Aufzählungen (enum)
- Generics: Parametrisierte Typen, Deklaration, Wildcards, Realisierung - Felder als einfache Datenstrukturen
- Felder nutzen
- Utility-KlasseArrays
- Einfügen, Löschen, Suchen, Sortieren, Klonen
-boolean-Felder und Bit-Mengen mitBitSetverwalten
- Sortierung und Ordnung überComparatorundComparable - Aufbau der Collection-API
- Inhalt des Paketsjava.utilundjava.concurrent
- Grundlegende Schnittstellen:Collection,List,Set,Map,Queue
- Operationen ausCollection
- Optionale Methoden undUnsupportedOperationException
- Sichten auf Datenstrukturen, Veränderungen
- Iterator-Pattern:Iterator,Iterable,Enumeration, fail-fast-Verhalten
- WoVector,HashTable,Dictionary,PropertiesundStackhineinpassen - Listen
- Operationen ausList
-ArrayListundLinkedList
- Iteratoren:IteratorundListIterator - Warteschlangen (Queues)
- Operationen ausQueue
- Schnittstellefamilie und Implementierungen
-SynchronousQueue,DelayQueue
- SchnittstelleDeque
- Blockierende Queues (BlockingQueue),LinkedBlockingQueue,LinkedBlockingDeque
- Prioritätswarteschlangen (PriorityQueue),PriorityBlockingQueue - Mengen
- Operationen ausSet
-HashSetundTreeSet
-SortedSetundNavigableSet(Java 6) - Assoziativspeicher
- Operationen ausjava.util.Map
-HashMap,TreeMap
- Aufzählugen undMap.Entry
-SortableMapundNavigableMap(Java 6)
- Schwache Referenzen undWeakHashMap - Algorithmen und Datenstrukturen
- Hashing, Hash-Funktionen,hashCode()
- Utility-KlasseCollections - Thread-sichere Datenstrukturen
- Wrapper-Klassen
- SchnittstelleConcurrentMap
- Lock-freie Datenstrukturen, Concurrent-Collections
-ConcurrentLinkedQueue,ConcurrentHashMap,ConcurrentSkipListMap,ConcurrentSkipListSet
-CopyOnWriteArrayList,CopyOnWriteArraySet - Weitere Datenstrukturen und Bibliotheken
- Datenstrukturen für primitive Elemente, Apache Commons Primitives
- Google Collections Library, Apache Commons Collections, Apache Commons Events
- In-Memory-Datenbanken: HSQLDB, Derby
- Elegantes Arbeiten mit JoSQL und JXPath
- Geplante Sprachänderungen in Java 7: Vereinfachung durch Closures
Voraussetzungen
Der Kurs ›Java Grundlagen‹ oder vergleichbare Kenntnisse.
Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.4 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen.
Bemerkungen
Auf Wunsch führen wir das Seminar auch unter Java 1.4 durch. Durch eine frei verfügbare Bibliothek mit einem Backport der JSR 166 (java.util.concurrent) geht das 1.4-Seminar ebenso auf die neuen Datenstrukturen aus Java 5 und Java 6 ein.
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)