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, Systementwickler

Empfohlene Dauer

2 Tage, insgesamt 12 Zeitstunden

Inhalte

[LOGO]
  • 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-Klasse Arrays
    - Einfügen, Löschen, Suchen, Sortieren, Klonen
    - boolean-Felder und Bit-Mengen mit BitSet verwalten
    - Sortierung und Ordnung über Comparator und Comparable
  • Aufbau der Collection-API
    - Inhalt des Pakets java.util und java.concurrent
    - Grundlegende Schnittstellen: Collection, List, Set, Map, Queue
    - Operationen aus Collection
    - Optionale Methoden und UnsupportedOperationException
    - Sichten auf Datenstrukturen, Veränderungen
    - Iterator-Pattern: Iterator, Iterable, Enumeration, fail-fast-Verhalten
    - Wo Vector, HashTable, Dictionary, Properties und Stack hineinpassen
  • Listen
    - Operationen aus List
    - ArrayList und LinkedList
    - Iteratoren: Iterator und ListIterator
  • Warteschlangen (Queues)
    - Operationen aus Queue
    - Schnittstellefamilie und Implementierungen
    - SynchronousQueue, DelayQueue
    - Schnittstelle Deque
    - Blockierende Queues (BlockingQueue), LinkedBlockingQueue, LinkedBlockingDeque
    - Prioritätswarteschlangen (PriorityQueue), PriorityBlockingQueue
  • Mengen
    - Operationen aus Set
    - HashSet und TreeSet
    - SortedSet und NavigableSet (Java 6)
  • Assoziativspeicher
    - Operationen aus java.util.Map
    - HashMap, TreeMap
    - Aufzählugen und Map.Entry
    - SortableMap und NavigableMap (Java 6)
    - Schwache Referenzen und WeakHashMap
  • Algorithmen und Datenstrukturen
    - Hashing, Hash-Funktionen, hashCode()
    - Utility-Klasse Collections
  • Thread-sichere Datenstrukturen
    - Wrapper-Klassen
    - Schnittstelle ConcurrentMap
    - 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.

Schlagwörter

[Addthis] [Google Bookmarks] [Yahoo! Bookmarks] [Delicius] [Mister Wong]

[Nach oben]