Collections Framework und Stream-API
Die Collection-API erlaubt die effiziente Verwaltung von Daten und das Operieren auf Daten mit passenden Algorithmen. Das Seminar stellt alle Datenstrukturen der aktuellen Java-Version 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 Lücken in der Standardbibliothek schließen.
Inhalte des Seminars
Elementare Java-Sprachfeatures für Sammlungen
- Generics: Parametrisierte Typen, Deklaration, Wildcards, Raw-Type
- Wrapper-Klassen
- Autoboxing: (Un-)Boxing
- Erweitertes
for
(aka foreach) - Variable Argumentlisten (Vargs)
- Aufzählungen (enum)
- Lambda-Ausdrücke
Felder (Arrays) als einfache Datenstrukturen
- Feldarbeit
- Utility-Klasse
Arrays
- Einfügen, Löschen, Suchen, Sortieren, Klonen
boolean
-Felder und Bit-Mengen mitBitSet
verwalten- Sortierung und Ordnung über
Comparator
undComparable
Aufbau der Collection-API
- Inhalt des Pakets
java.util
undjava.concurrent
- Datentyp
Optional
,null
-Bock - Grundlegende Schnittstellen:
Collection
,List
,Set
,Map
,Queue
,Dequeue
- 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
undStack
hineinpassen
Listen
- Operationen aus
List
ArrayList
undLinkedList
- Iteratoren:
Iterator
undListIterator
Warteschlangen (Queues)
- Operationen aus
Queue
- Schnittstellefamilie und Implementierungen
- Schnittstelle
Deque
- Prioritätswarteschlangen (
PriorityQueue
)
Mengen
- Operationen aus
Set
HashSet
undTreeSet
SortedSet
undNavigableSet
Assoziativspeicher
- Operationen aus
java.util.Map
HashMap
,TreeMap
- Aufzählugen und
Map.Entry
SortableMap
undNavigableMap
- Schwache Referenzen und
WeakHashMap
Algorithmen und Datenstrukturen
- Hashing, Hash-Funktionen,
hashCode
- Utility-Klasse
Collections
- Laufzeit und Speicherverbrauch diverser Algorithmen
- JMH: Java Microbenchmark Harness
Thread-sichere Datenstrukturen
- Synchronisation, Lock-freie Datenstrukturen, Concurrent-Collections
ConcurrentLinkedQueue
- Blockierende Queues:
BlockingQueue
,TransferQueue
,LinkedBlockingQueue
,LinkedBlockingDeque
SynchronousQueue
,DelayQueue
- Schnittstelle
ConcurrentMap
ConcurrentHashMap
,ConcurrentSkipListMap
,ConcurrentSkipListSet
CopyOnWriteArrayList
,CopyOnWriteArraySet
Stream-API
- Stream, terminale und intermediäre Operationen
- Parallele und sequenzielle Streams
- Collectoren
- Primitive Ströme:
IntStream
,LongStream
,DoubleStream
undXXXSummaryStatistics
SplittableRandom
,Spliterator
Weitere Datenstrukturen und Bibliotheken
- Apache Commons Collections
- Google Guava (ehemals Collections Library), Tabellen und Graphen
- Vavr und persistente immutable Collections
- Eclipse Collections
- Datenstrukturen für primitive Elemente
- In-Memory-Datenbanken: H2, HSQLDB, Derby
Termine / Kontakt
Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.
Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.
Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).
Die Fakten
- Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
- Zielgruppe: Software-Entwickler, Programmierer, Systementwickler
- Vorkenntnisse: Der Kurs ›Java Grundlagen‹ oder vergleichbare Kenntnisse.
- Seminar-Software: Java 21 ist die Standardversion, die in Verbindung mit der IntelliJ IDEA (Community-Edition) verwendet wird. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹) oder andere Entwicklungsumgebungen (NetBeans, Oracle JDeveloper) und JDK 8.