Datenkapselung
keine Datenkapselung:
einfache Datenkapselung:
echte Datenkapselung mit fachlicher Schnittstelle:
Java Collection Framework
- Teil der Standard-Bibliothek
- bietet u.a.
- Interfaces
- List, Set, Map, Queue
- Implementierungsklassen
- ArrayList, LinkedList, HashMap, HashSet
- Interfaces
- 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?
| Interface | Geordnet | Duplikate | Besonderheiten |
|---|---|---|---|
| List | Ja | Ja | Zugriff auf Positionen |
| Map | ggf. | Nein, Schlüssel | Eindeutige Schlüssel |
| Queue | Ja | Ja | FIFO (First In First Out) |
| Set | ggf. | Nein | Eindeutige 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