Datenstrukturen des Collections Framework

Datentypen und Exceptions in Java

Jim White

Java Instructor

Was ist ein Framework?

  • Ein Framework ist ein Satz wiederverwendbarer Typen mit allgemeiner Funktionalität
    • Beispiele für Typen: Klassen und Interfaces
    • Verbessert die Qualität der Anwendung
    • Verhindert, dass du alles neu bauen musst
  • Frameworks werden in einem oder mehreren Paketen in Java ausgeliefert
  • Frameworks kommen mit Richtlinien und Regeln zur Nutzung

Frameworks stellen vorgefertigten Code mit allgemeiner Funktionalität bereit

1 Foto von Ashkan Forouzani auf Unsplash
Datentypen und Exceptions in Java

Java-Typen

Zwei Kategorien von Typen in Java:

  • Primitive Typen
    • byte, short, int, long, float, double, char, boolean
  • Referenz-Typen
    • Klassen
    • Interfaces
    • Enums
    • Arrays
    • ...
Datentypen und Exceptions in Java

Das Collections Framework

  • Collections Framework: Javas integrierter Satz generischer Datenstruktur-Typen
    • Ein Paket mit Typen zum Speichern und Verarbeiten von Objektgruppen
  • Definiert im Paket java.util
    • Zum Nutzen der Framework-Typen musst du importieren
Datentypen und Exceptions in Java

Und Arrays?

  • Java-Arrays können Gruppen von Objekten oder Primitives halten
    • Das Collections Framework bietet alternative Datenstrukturen
  • Beide haben Vor- und Nachteile
Arrays Collections
Nicht veränderbar in der Größe Dynamisch (wachsen und schrumpfen)
Speichern Primitives oder Objekte Speichern nur Objekte
Homogen – Elemente müssen gleich sein Heterogen – Objekte können unterschiedlich sein
Spezielle Notation [] für Zugriff Verwendet Methoden zum Zugriff
Spezielle Syntax zur Initialisierung {} Verwendet new (keine spezielle Initialisierungssyntax)
Datentypen und Exceptions in Java

Typen im Collections Framework

  • Das Collections Framework ist in zwei Grundtypen unterteilt: Collection und Map
    • Repräsentiert durch zwei Interfaces: java.util.Collection & java.util.Map
    • Beide haben mehrere implementierende Klassen
  • import java.util.*; um beliebige Typen des Collections Framework zu nutzen

Collections Framework hat zwei Grundtypen: Collection und Map

Datentypen und Exceptions in Java

Collection

  • Collection definiert viele Arten von Objektgruppierungen
    • Diese werden durch zusätzliche Interfaces festgelegt
  • Geordnete Objektgruppe: List
  • Ungeordnete Objektgruppe: Set
  • First-in-first-out-Objektgruppe: Queue
    • Funktioniert wie eine Schlange an Bank oder Ticketschalter
  • Methoden .add(Object) und .remove(Object) ändern jede Collection

Collection umfasst List, Set und Map

Datentypen und Exceptions in Java

Map

  • Map-Datenstrukturen verhalten sich wie ein Telefonbuch oder Wörterbuch
    • „key"-Objekte -> zu „value"-Objekten
    • Im Telefonbuch: ein Name -> Telefonnummer
    • Im Wörterbuch: ein Wort -> Definition des Wortes
  • Verwende das Schlüsselobjekt, um eine Map zu ändern
    • .put(Object key, Object value) fügt einer Map hinzu
    • .remove(Object key) entfernt aus einer Map
  • Viele Map-Typen – z. B. HashMap

Die Map-Datenstruktur funktioniert wie ein Telefonbuch oder Wörterbuch

Datentypen und Exceptions in Java

Generics

  • Collections und Maps sind „parametrisiert"
    • Java-Generics legen die Objekte in einer Collection oder Map fest
    • Generische Syntax: <Class> mit parametrisiertem Typ.
      • < > heißt Diamond Operator
ArrayList<String> list = new ArrayList<String>();  // Konstruktion mit Generics
Datentypen und Exceptions in Java

Generics und Typensicherheit

  • Generics sorgen für bessere Typensicherheit
    • Beschränken die erlaubten Objekte in Collection und Map
ArrayList<String> list = new ArrayList<String>();
list.add("hello");  // Einen String hinzufügen ist ok
list.add(new Integer(5));  // Versuch, ein Integrer hinzuzufügen, verursacht Compilerfehler
Datentypen und Exceptions in Java

Generics nicht verwenden

ArrayList list2 = new ArrayList();  // Zulässig, aber unspezifisch

list2.add("hello");                 // Jetzt kann jeder Objekttyp hinzugefügt werden
list2.add(new Integer(5));
Datentypen und Exceptions in Java

Variablendeklaration und Zuweisung

  • Variablendeklaration und Zuweisung können getrennt erfolgen
ArrayList<String> list = new ArrayList<String>(); //Einzeilige Deklaration und Zuweisung

ArrayList<String> list2;    // Variablendeklaration …
list2 = new ArrayList<String>();  //… und Zuweisung kann in 2 Anweisungen erfolgen
Datentypen und Exceptions in Java

Lass uns üben!

Datentypen und Exceptions in Java

Preparing Video For Download...