CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design

Lektionen

  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Mein Fortschritt
  • Kurse
  • Quest-Karte
  • Lektionen
  • Verwendung von Lambdas in Collections und Streams

    JAVA 25 SELF
    Level 48,Lektion 1
    Praxis der Lambda-Ausdrücke in Collections und Stream API: wie man anonyme Klassen durch kompakte Lambdas ersetzt, die Methoden der Collections nutzt ( forEach, removeIf, sort, replaceAll) und Verarbeitungspipelines aufbaut ( stream → filter → map → sorted → collect). Wir vergleichen mit anonymen Klassen, besprechen „effektiv final“-Variablen, führen eine Tabelle der wichtigsten Operationen auf und analysieren typische Fehler.
    Verfügbar
  • Vor- und Nachteile von Lambda-Ausdrücken

    JAVA 25 SELF
    Level 48,Lektion 2
    In der Vorlesung klären wir, warum Java Lambda-Ausdrücke bekommen hat: Kürze und Lesbarkeit, das Übergeben von Verhalten als Parameter, Integration mit Collections und Stream-API ( filter, map, forEach), das Einfangen „effektiv“ finaler Variablen und die bequeme Notation von Callbacks über den Operator ->. Parallel betrachten wir Fallstricke: Debugging langer Ketten, Mehrdeutigkeit bei Überladungen ( Runnable vs Callable), Einschränkungen von Closures, Serialisierung und verschachtelte Lambdas. Am Ende – praktische Empfehlungen, wann man Lambdas verwendet, und eine Analyse typischer Fehler.
    Verfügbar
  • Closures (closures) in Java: Besonderheiten

    JAVA 25 SELF
    Level 48,Lektion 3
    In der Vorlesung besprechen wir, was ein Closure ist und wie es in Java funktioniert: wie Lambdas und anonyme Klassen externe Variablen „erfassen“, warum lokale Variablen final oder effektiv final sein müssen, worin sich das Erfassen lokaler Variablen vom Zugriff auf Klassenfelder unterscheidet, und wie sich this in Lambdas und anonymen Klassen verhält. Wir zeigen Funktionsfabriken mit IntSupplier, betrachten die interne Implementierung des Captures und typische Fehler (zum Beispiel die Compiler-Meldung Variable used in lambda expression should be final or effectively final).
    Verfügbar
  • Anonyme Klassen: Unterschied zu Lambda-Ausdrücken, Beispiele

    JAVA 25 SELF
    Level 48,Lektion 4
    In dieser Vorlesung erklären wir, was eine anonyme Klasse in Java ist und wie sie sich vom Lambda-Ausdruck unterscheidet: Syntax, Möglichkeiten (Felder, zusätzliche Methoden, Überschreiben von toString/ equals), Gültigkeitsbereich und Verhalten von this, Variablen-Capture (nur final/„effektiv final“). Es werden praktische Beispiele mit Runnable, Comparator, Predicate gezeigt sowie Empfehlungen – wann man eine Lambda wählt und wann eine anonyme Klasse.
    Verfügbar
  • Funktionale Schnittstellen: Predicate, Consumer, Supplier, Function

    JAVA 25 SELF
    Level 49,Lektion 0
    Wir beleuchten die wichtigsten funktionalen Schnittstellen aus dem Paket java.util.function: Predicate, Consumer, Supplier, Function – was sie annehmen/zurückgeben und wo sie im Stream-API eingesetzt werden ( filter, map, forEach, generate). Wir erinnern an die Regel „genau eine abstrakte Methode“ und die Annotation @FunctionalInterface, schreiben Lambdas, vergleichen mit anonymen Klassen, üben am Beispiel mit der Klasse User und besprechen typische Fehler bei der Wahl zwischen Predicate/ Function u. a.
    Verfügbar
  • Funktionskomposition: compose, andThen

    JAVA 25 SELF
    Level 49,Lektion 1
    Diese Vorlesung handelt davon, wie man mit Function und ihren Methoden compose und andThen Verarbeitungspipelines aus kleinen Funktionen zusammensetzt. Wir klären die Ausführungsreihenfolge, die Typverträglichkeit, Beispiele mit Predicate ( and, or, negate), Consumer ( andThen), bauen praxisnahe Pipelines und besprechen typische Fehler: vertauschte Reihenfolge ( f.compose(g) vs f.andThen(g)), inkompatible Typen und Spaghetti-Code in Ketten. Sie lernen, apply, test, accept anzuwenden und lesbare, wiederverwendbare Transformationen zu bauen.
    Verfügbar
  • Übergabe von Funktionen als Parameter: Beispiele

    JAVA 25 SELF
    Level 49,Lektion 2
    Praktische Einführung in die Übergabe von Verhalten in Java: wie man Lambda-Ausdrücke ( ->) und Methodenreferenzen ( ::) zusammen mit dem Stream-API und Collections verwendet. Wir besprechen die standardmäßigen funktionalen Interfaces aus java.util.function — Comparator, Predicate, Function, Consumer, Supplier — lernen, universelle Methoden zu schreiben, Verhalten als Parameter zu übergeben und typische Fehler zu vermeiden. Wir üben an Beispielen mit Stream, Optional und eigenen Hilfsfunktionen zur Listenverarbeitung.
    Verfügbar
  • Funktionaler Stil mit der Stream-API

    JAVA 25 SELF
    Level 49,Lektion 3
    Vom imperativen Schleifenstil zu deklarativen Datenverarbeitungspipelines mit der Stream-API: Wir besprechen Zwischen- und Terminaloperationen, Trägheit der Ausführung, das Sammeln von Ergebnissen via toList()/ collect, Schlüsseloperationen wie map, filter, sorted, flatMap, reduce sowie Prüfungen mit anyMatch/ allMatch/ noneMatch. Wir vergleichen imperativen und funktionalen Stil, betrachten Praxisbeispiele und typische Fehler, darunter ein unpassendes forEach beim Sammeln in Kollektionen und ein verfrühtes parallelStream().
    Verfügbar
  • Fehleranalyse bei funktionaler Programmierung

    JAVA 25 SELF
    Level 49,Lektion 4
    Die 10 häufigsten Fehler im Umgang mit Lambdas und dem Stream-API in Java: Capture von Variablen ( final/ effectively final), das Verhalten von this in Lambdas, Side Effects und Parallelität ( parallelStream()), Typinferenz und generics, Umgang mit null und Optional, Funktionskomposition ( compose/ andThen) sowie Checked Exceptions (z. B. IOException). Wir zeigen sichere Praktiken: Filtern mit Objects::nonNull, Terminaloperationen ( sum(), collect(...)), thread‑sichere Collections und die Dekomposition langer Ketten.
    Verfügbar
  • Listener (Listeners) und Ereignis-Schnittstellen

    JAVA 25 SELF
    Level 50,Lektion 0
    Wie das Ereignismodell in Java funktioniert: Die Quelle erzeugt ein Ereignis, und die abonnierten Listener erhalten eine Benachrichtigung und reagieren darauf. Wir besprechen die wichtigsten Listener-Schnittstellen aus Swing – ActionListener, MouseListener, KeyListener, ChangeListener, DocumentListener – und zeigen, wie man Handler über addActionListener registriert und die Methode actionPerformed implementiert. Wir üben, Listener an JButton/ JFrame anzuschließen, vergleichen anonyme Klassen und Lambda-Ausdrücke und besprechen typische Fehler sowie praktische Tipps.
    Verfügbar
  • Ereignisse in Swing und AWT: Grundlagen, Beispiele

    JAVA 25 SELF
    Level 50,Lektion 1
    Kurze praxisnahe Einführung in das Ereignismodell AWT/ Swing: Wir erstellen eine Schaltfläche JButton, registrieren einen Listener über addActionListener und verarbeiten im actionPerformed. Wir behandeln anonyme Klassen und Lambda-Ausdrücke, gängige Listener ( MouseListener/ MouseAdapter, KeyAdapter, DocumentListener), schreiben eine Mini-Anwendung auf Basis von JFrame, JButton, JLabel, betrachten die Aufrufreihenfolge und typische Fehler (aufwändige Arbeit im Handler, Finalität von Variablen in Lambdas, vergessener addActionListener, Entfernen von Listenern, Einsatz von SwingWorker).
    Verfügbar
  • Erstellen und Verarbeiten eigener Ereignisse

    JAVA 25 SELF
    Level 50,Lektion 2
    In dieser Vorlesung besprechen wir, wie man eigene Ereignisse in Java entwirft: Wir erstellen eine Ereignisklasse auf Basis von java.util.EventObject, definieren ein Listener-Interface über java.util.EventListener, fügen einen Mechanismus zum Abonnieren/Abmelden ( add...Listener/ remove...Listener) sowie zur Benachrichtigung ( fire...) hinzu. Wir schauen uns Praxisbeispiele mit DataLoader und einem Zähler an, diskutieren Handler mit anonymen Klassen und Lambda-Ausdrücken und gehen typische Fehler durch (Ausnahmen in Listenern, Memory-Leaks, ConcurrentModificationException).
    Verfügbar
  • 1
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • ...
  • 30
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
Interface-Sprache
English
Deutsch
Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym