Datenkapselung, Collections-Frameworks und generische Klassen

Datenkapselung

keine Datenkapselung: Datenkapselung

einfache Datenkapselung: Datenkapselung

echte Datenkapselung mit fachlicher Schnittstelle: Datenkapselung

Java Collection Framework

  • Teil der Standard-Bibliothek
  • bietet u.a.
    • Interfaces
      • List, Set, Map, Queue
    • Implementierungsklassen
      • ArrayList, LinkedList, HashMap, HashSet
  • jede dieser Klassen implementiert mindestens eines dieser Interfaces
    • Bsp.: ArrayList implements List

Key-Value Map

  • manchmal auch Dictionary
  • Zwei Element-typen, einer als Schlüssel und einer für Wert (kann auch komplex sein)
  • Schlüssel müssen eindeutig sein, Werte nicht

Generische Klassen

TODO

Welche Collection Interface für welchen Zweck?

InterfaceGeordnetDuplikateBesonderheiten
ListJaJaZugriff auf Positionen
Mapggf.Nein, SchlüsselEindeutige Schlüssel
QueueJaJaFIFO (First In First Out)
Setggf.NeinEindeutige Elemente

Take-Home Message

  • Collections sind Container für Objekte und Implementieren je nach Fähigkeit unterschiedliche Interfaces
  • Müssen entscheiden welche Fähigkeiten benötigt werden und dementsprechend ein Interface auwählen
  • Collections Speicher nur Objekt-Referenzen, haben daher keine Feste Größe und bieten eine Vielzahl von Methoden zur Verwendung
  • Primitive Werte werden durch Wrapper-Klassen als Objekte repräsentiert
  • Die meisten Collections-Klassen sind generisch, sie müssen mit dem Typ ihrer Elemente parametrisiert werden
Last modified 2022.10.31