Kapitel 7. Arrays und Referenzen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Bis zu diesem Punkt haben wir nur Variablen für einzelne Werte wie Zahlen oder Strings verwendet. In diesem Kapitel lernst du, wie du mehrere Werte desselben Typs mit einer einzigen Variablen speichern kannst. Mit dieser Sprachfunktion kannst du Programme schreiben, die größere Datenmengen verarbeiten.

In Übung 6-5 solltest du zum Beispiel prüfen, ob jeder Buchstabe in einer Zeichenkette genau zweimal vorkommt. Ein Algorithmus (den du hoffentlich schon entdeckt hast) durchläuft die Zeichenkette 26 Mal, einmal für jeden Kleinbuchstaben:

// outer loop: for each lowercase letter
for (char c = 'a'; c <= 'z'; c++) {
    // inner loop: count how many times the letter appears
    for (int i = 0; i < str.length(); i++) {
        ...
    // if the count is not 0 or 2, return false

Dieser Ansatz mit verschachtelten Schleifen ist ineffizient, vor allem wenn die Zeichenkette lang ist. Zum Beispiel gibt es mehr als 3 Millionen Zeichen in Krieg und Frieden; um das ganze Buch zu verarbeiten, würde die verschachtelte Schleife etwa 80 Millionen Mal durchlaufen.

Ein anderer Algorithmus würde 26 Variablen mit Null initialisieren, eine Schleife durch die Zeichenkette ziehen und eine riesige if Anweisung verwenden, um die Variable für jeden Buchstaben zu aktualisieren. Aber wer will schon 26 Variablen deklarieren?

Hier kommen die Arrays ins Spiel. Wir können ...

Get Think Java, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.