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
  • equals- und hashCode-Verträge

    JAVA 25 SELF
    Level 29,Lektion 0
    In dieser Vorlesung besprechen wir, wie man Gleichheit von Objekten in Java korrekt definiert: Worin sich der Vergleich von Referenzen mit dem Operator == vom Inhaltsvergleich mit der Methode equals unterscheidet, warum der Vertrag equals/ hashCode für Collections wie HashSet und HashMap kritisch ist und wie das mit compareTo aus Comparable zusammenhängt. Schritt-für-Schritt-Beispiele, Best Practices und die Analyse typischer Fehler helfen dabei, Fallstricke im Umgang mit Hash-Tabellen und sortierbaren Collections zu vermeiden.
    Verfügbar
  • Klasse Objects: Methoden equals, hashCode, hash

    JAVA 25 SELF
    Level 29,Lektion 1
    In dieser Lektion behandeln wir das „Schweizer Taschenmesser“ java.util.Objects: wie man sicher mit Objects.equals vergleicht, prägnant Hashes mit Objects.hash berechnet, den Vergleich über Objects.compare delegiert, nicht- null-Werte mit Objects.requireNonNull garantiert sowie Objects.isNull/ Objects.nonNull in Streams einsetzt. Wir zeigen eine korrekte Implementierung von equals/ hashCode/ compareTo, besprechen praktische Anwendungsfälle und typische Fehler im Umgang mit HashMap/ HashSet.
    Verfügbar
  • Interface Comparable: Implementierung, compareTo

    JAVA 25 SELF
    Level 29,Lektion 2
    In dieser Vorlesung betrachten wir die natürliche Ordnung von Objekten in Java über das Interface Comparable und die Methode compareTo: wozu sie nötig sind, wie man sie korrekt implementiert, wie die Sortierung von Collections funktioniert ( Collections.sort und List.sort), Vergleiche nach mehreren Feldern, Umgang mit null-Werten sowie Konsistenz mit equals/ hashCode. Wir betrachten Best Practices, häufige Fehler und praktische Beispiele mit der Klasse Person.
    Verfügbar
  • Comparator-Interface: Erstellung und Verwendung

    JAVA 25 SELF
    Level 29,Lektion 3
    In der Vorlesung besprechen wir, wann man Comparator statt Comparable verwendet, die Syntax und den Vertrag der Methode compare(T o1, T o2), die Praxis des Sortierens von Listen über Collections.sort und List.sort, das Erstellen von Comparators sowohl als separate Klassen als auch über anonyme Klassen und Lambda‑Ausdrücke. Wir betrachten mehrstufiges Sortieren, die Arbeit mit null-Werten, die Suche über Collections.binarySearch, die Invertierung der Reihenfolge mit reversed() sowie Best Practices und typische Fehler (etwa warum man besser Integer.compare statt a - b verwendet).
    Verfügbar
  • Suche und Sortierung von Elementen in Java-Collections

    JAVA 25 SELF
    Level 29,Lektion 4
    In dieser Vorlesung behandeln wir praktische Techniken für die Arbeit mit Collections: das Suchen von Elementen mit den Methoden contains, indexOf, lastIndexOf, die bedingte Suche per Schleife for und dem Operator break, sowie das Finden von Minimum und Maximum mit der Klasse Collections. Wir üben das Sortieren von Listen mit Collections.sort und List.sort, den Einsatz von Comparator, das Sortieren von Paaren aus Map sowie von Objekten nach einem Feld. Zum Schluss besprechen wir typische Fehler: unveränderliche Listen aus List.of, Versuche, Set/ Map zu sortieren, und fehlerhafte Comparatoren.
    Verfügbar
  • Einführung in das Stream API: warum man Streams braucht

    JAVA 25 SELF
    Level 30,Lektion 0
    In dieser Vorlesung klären wir, warum der imperative Ansatz zur Verarbeitung von Collections schnell zu Boilerplate führt und wie das Stream API Code in einen deklarativen Stil überführt: Ketten von Operationen filter, map, collect, einfache Komposition, weniger Fehler und leichte Parallelisierung über parallelStream(). Wir zeigen Einsatzbereiche, Entstehungsgeschichte und typische Fehler, die man vermeiden sollte.
    Verfügbar
  • Grundlegende Operationen des Stream API: map, filter, collect

    JAVA 25 SELF
    Level 30,Lektion 1
    Schrittweise Einführung in die grundlegenden Operationen des Stream API: wie man einen Stream aus einer Collection und einem Array erhält ( stream(), Arrays.stream, Stream.of), worin sich Zwischenoperationen ( filter, map, distinct) von Terminaloperationen ( collect, forEach, count) unterscheiden, und wie man Ergebnisse mit Collectors sammelt ( toList, toSet, joining). Praxisnahe Beispiele, Mini‑Aufgaben und ein Abschnitt mit typischen Fehlern helfen, die Pipeline‑Verarbeitung von Daten schnell zu beherrschen.
    Verfügbar
  • Teiloperationen der Stream‑API: distinct, limit, skip

    JAVA 25 SELF
    Level 30,Lektion 2
    In dieser Vorlesung betrachten wir drei zentrale Operationen der Stream‑API für die Arbeit mit Teilmengen von Daten: distinct (Duplikate entfernen), limit (Anzahl der Elemente begrenzen) und skip (erste Elemente überspringen). Sie sehen, wie sie mit Sammlungen von Strings und Objekten funktionieren, wie die Implementierung von equals/ hashCode das Ergebnis von distinct beeinflusst, wie man Operationen für Paginierung und Top‑N‑Auswahl kombiniert und welche Fehler am häufigsten vorkommen.
    Verfügbar
  • Methoden forEach, peek: Nebeneffekte

    JAVA 25 SELF
    Level 30,Lektion 3
    In dieser Vorlesung betrachten wir Stream-Operationen für Nebeneffekte: die terminale forEach und die intermediäre peek. Wir klären, wann und wozu man sie einsetzt, worin sie sich unterscheiden, warum der Stream nach forEach „geschlossen“ wird, während peek die Daten nicht verändert und nur ausgeführt wird, wenn eine terminale Operation vorhanden ist. Wir zeigen praktische Beispiele, beleuchten weniger offensichtliche Punkte und typische Fehler (einschließlich ConcurrentModificationException und der falschen Ersetzung von collect durch forEach).
    Verfügbar
  • Umwandlung von Collections mit der Stream-API

    JAVA 25 SELF
    Level 30,Lektion 4
    Praktischer Leitfaden zur Umwandlung von Collections mit der Stream API: Umwandlung von List ↔ Set, Aufbau von Maps über Collectors.toMap() (inklusive Umgang mit Duplikaten), Zusammenführen zu einem String mit Collectors.joining(), Verständnis von Terminal- und Zwischenoperationen ( forEach, collect, count, anyMatch u. a.). Mit verständlichen Beispielen, Erklärungen und typischen Fehlern.
    Verfügbar
  • Methoden sum, count, average, max, min in der Stream-API

    JAVA 25 SELF
    Level 31,Lektion 0
    In dieser Vorlesung behandeln wir die aggregierenden Operationen der Stream-API: wie man die Anzahl mit count() ermittelt, Summen und Durchschnitte mit primitiven Streams ( IntStream, LongStream, DoubleStream) und den Methoden sum(), average(), sowie wie man Extremwerte mit min()/ max() findet. Außerdem besprechen wir den Umgang mit den Containern Optional, OptionalInt, OptionalLong, OptionalDouble und die richtigen Wege, Werte zu entnehmen: orElse(...), ifPresent(...), orElseThrow(). Wir lernen den Einsatz der Collector-Hilfsmethoden Collectors.summingInt, Collectors.averagingInt, Collectors.maxBy/ minBy und deren Kombination mit groupingBy. Am Ende – eine Besprechung typischer Fehler und Besonderheiten.
    Verfügbar
  • Methoden reduce und collect: Datenaggregation

    JAVA 25 SELF
    Level 31,Lektion 1
    Wir besprechen terminale Stream-Operationen: die universelle Faltung reduce() und den leistungsfähigen Sammler collect(). Wir verstehen die Signaturen mit identity, accumulator und combiner, lernen, Daten mit den fertigen Collector-Implementierungen aus Collectors zu sammeln ( toList(), toMap(), joining(), groupingBy()) und sehen, wann man collect() gegenüber reduce() bevorzugen sollte. Außerdem sprechen wir über die Arbeit mit Optional, die Behandlung von Duplikaten in toMap() und Besonderheiten paralleler Streams.
    Verfügbar
  • 1
  • ...
  • 13
  • 14
  • 15
  • 16
  • 17
  • ...
  • 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