20 Jahre Erfahrung FreeCall 0800 tutegos

Collections Framework und Stream-API

[LOGO]

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 mit BitSet verwalten
  • Sortierung und Ordnung über Comparator und Comparable

Aufbau der Collection-API

  • Inhalt des Pakets java.util und java.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 und Stack hineinpassen

Listen

  • Operationen aus List
  • ArrayList und LinkedList
  • Iteratoren: Iterator und ListIterator

Warteschlangen (Queues)

  • Operationen aus Queue
  • Schnittstellefamilie und Implementierungen
  • Schnittstelle Deque
  • Prioritätswarteschlangen (PriorityQueue)

Mengen

  • Operationen aus Set
  • HashSet und TreeSet
  • SortedSet und NavigableSet

Assoziativspeicher

  • Operationen aus java.util.Map
  • HashMap, TreeMap
  • Aufzählugen und Map.Entry
  • SortableMap und NavigableMap
  • 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 und XXXSummaryStatistics
  • 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.

Verweise

Alle Kategorien

Was Teilnehmer sagen