Das Java Collections Framework: Eine Einführung in Collection, List, Set, Map und die Stream-API
Einleitung
Das Java Collections Framework (JCF) ist weit mehr als eine Sammlung nützlicher Klassen und Interfaces; es ist ein standardisiertes Framework, das den Umgang mit Datensammlungen in Java revolutioniert hat. Dieser Artikel führt euch durch die wichtigsten Bestandteile: Collection
, List
, Set
, Map
und die seit Java 8 existierende Stream-API.
Warum sind Collections wichtig?
Collections sind entscheidend für fast jede Art von Programmierung. Ob man Benutzerdaten, Texte, Bilder oder Koordinaten speichern möchte, Collections machen es einfacher und effizienter.
Collection Interface
Das Collection Interface ist die Basis für viele verschiedene Datensammlungen in Java. Es bietet grundlegende Methoden zum Hinzufügen, Entfernen und Überprüfen von Elementen.
Collection
collection.add("Apple"); // Ein Element hinzufügen
collection.add("Banana");
collection.remove("Apple"); // Ein Element entfernen
boolean hasBanana = collection.contains("Banana"); // Überprüfung, ob ein Element vorhanden ist
int size = collection.size(); // Die Größe der Sammlung
List Interface
Das List Interface ermöglicht indexbasierten Zugriff und erlaubt auch doppelte Elemente. Du kannst Elemente hinzufügen, abrufen, ändern und vieles mehr.
List list = new ArrayList<>();
list.add("Apple");
list.add("Apple");
String firstItem = list.get(0); // Zugriff auf das erste Element
list.set(0, "Mango"); // Ersetzen eines Elements
Set Interface
Das Set Interface garantiert, dass alle Elemente einzigartig sind. Wenn du versuchst, ein bereits vorhandenes Element hinzuzufügen, wird es ignoriert.
Set set = new HashSet<>();
set.add("Apple");
set.add("Apple");
set.add("Banana");
boolean isAdded = set.add("Banana"); // Gibt false zurück, da "Banana" schon vorhanden ist
Map Interface
Das Map Interface verwendet Schlüssel-Wert-Paare für die Datenspeicherung. Mit dem Schlüssel kannst du schnell auf den dazugehörigen Wert zugreifen.
Map map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
int value = map.get("Apple"); // Zugriff auf Wert durch Schlüssel
map.remove("Apple"); // Entfernen eines Elements
DIE STREAM-API: DATENMANIPULATION LEICHT GEMACHT
Die Stream-API bietet eine elegante Möglichkeit, Daten zu manipulieren. Mit den Methoden der Stream-API kannst du Filtern, Sortieren und Umwandeln von Elementen leicht durchführen.
List myList = Arrays.asList("Apple", "Banana", "Cherry");
myList.stream()
.filter(fruit -> !"Banana".equals(fruit))
.map(String::toUpperCase)
.sorted()
.forEach(System.out::println);
FAZIT
Das Java Collections Framework und die Stream-API sind mächtige Werkzeuge für die Datenmanipulation in Java. Sie sind flexibel, effizient und durch ihre standardisierte Natur leicht zu erlernen und zu verwenden.