Arrays und Collections in Java: Ein vollständiger Leitfaden für Anfänger – Teil 1
Das Erlernen von Java ist unmöglich, ohne zu verstehen, wie man Datengruppen speichert und verwaltet. In diesem Artikel behandeln wir zwei grundlegende Themen: Arrays und Collections. Dies ist der erste Teil eines vollständigen Leitfadens, der sich für das Lernen von Grund auf eignet und hilft, das Wissen über die Programmierung in Java zu systematisieren.
Was sind Arrays in Java?
Ein Array ist eine Datenstruktur mit fester Länge, die Elemente eines Typs speichert. Arrays sind die Grundlage von Java für Anfänger, da sie einfach und schnell sind. Ihr Hauptnachteil ist jedoch, dass die Größe nach der Erstellung nicht geändert werden kann.
Deklaration und Initialisierung eines Arrays
In Java wird ein Array mit eckigen Klammern deklariert. Hier ist die grundlegende Syntax:
int[] numbers = new int[5]; // Array aus 5 ganzen ZahlenString[] names = {"Anna", "Boris", "Viktor"}; // Literal-InitialisierungZugriff auf Elemente und Länge des Arrays
Die Indizierung beginnt bei 0. Die Länge des Arrays wird in der Eigenschaft length gespeichert:
int first = numbers[0];int size = numbers.length; // 5Schleifen für die Arbeit mit Arrays
Zum Durchlaufen der Elemente eignen sich for oder for-each:
for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]);}
for (int num : numbers) { System.out.println(num);}Mehrdimensionale Arrays
Java unterstützt Arrays von Arrays. Ein zweidimensionales Array ist beispielsweise eine Tabelle:
int[][] matrix = new int[3][4]; // 3 Zeilen, 4 Spaltenmatrix[1][2] = 42;Mehrdimensionale Arrays sind nützlich für Matrizen, Spielfelder und Bilder.
Collections in Java: Eine flexible Alternative
Collections sind dynamische Datenstrukturen aus dem Java Collections Framework (JCF). Sie lösen das Hauptproblem von Arrays: Sie erweitern und verkleinern sich automatisch. Für die Programmierung in Java sind Collections ein Must-have.
Wichtige Schnittstellen von Collections
- List – eine geordnete Liste mit Duplikaten (ArrayList, LinkedList).
- Set – eine Menge ohne Duplikate (HashSet, TreeSet).
- Map – ein Wörterbuch: Schlüssel → Wert (HashMap, TreeMap).
ArrayList: Das dynamische Array
Der beliebteste Collection-Typ. Beispiel zur Verwendung:
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");System.out.println(list.get(0)); // JavaSystem.out.println(list.size()); // 3HashSet: Eindeutige Elemente
Verwenden Sie Set, wenn Sie Duplikate ausschließen möchten:
import java.util.HashSet;
HashSet<Integer> set = new HashSet<>();set.add(10);set.add(20);set.add(10); // wird nicht hinzugefügtSystem.out.println(set.size()); // 2HashMap: Schlüssel-Wert-Paare
Ideal für schnelle Suchen:
import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();map.put("Alice", 25);map.put("Bob", 30);System.out.println(map.get("Alice")); // 25Wann Arrays und wann Collections verwenden?
Die Wahl hängt von der Aufgabe ab:
- Arrays – wenn die Größe festgelegt ist, maximale Leistung erforderlich ist oder Sie mit primitiven Datentypen arbeiten.
- Collections – wenn sich Daten dynamisch ändern, Eindeutigkeit, Sortierung oder Suche nach einem Schlüssel erforderlich sind.
Für das Lernen von Java wird empfohlen, mit Arrays zu beginnen und dann zu Collections überzugehen.
Beispiel: Kombination von Arrays und Collections
Betrachten wir eine Aufgabe: Ein Array in eine Liste umwandeln und zurück