BESTE WEBSITE FÜR WEBENTWICKLER
Programmierung. Unterricht für Anfänger

Ua En Es Fr

Arrays der Programmierung


Arrays dienen dazu, viele Werte gemeinsam zu speichern.


Was ist ein Array?

Ein Array ist eine Sammlung von Werten.

Das Bild unten zeigt, wie wir uns ein Array mit dem Namen myFruits vorstellen können, in dem die Werte 'banana', 'apple' und 'orange' gespeichert sind.

'apple' 'orange' 'banana' Values Array Name myFruits Indexes 0 1 2

Jeder Wert in einem Array hat eine Position, genannt Index, die beginnt bei 0.

Unten sehen Sie, wie das Array myFruits mithilfe von Python-Code erstellt wird:

myFruits = Name ['banana', 'apple', 'orange'] Values Indexes 0 1 2

Der erste Wert 'banana' befindet sich am Index 0 im Array.


Was kann ich mit einem Array machen?

Arrays erleichtern die Arbeit mit Wertegruppen im Vergleich zur Verwendung einer separaten Variable für jeden Wert.

Anstatt also 3 Variablen zu erstellen:

fruit1 = 'banana'
fruit2 = 'apple'
fruit3 = 'orange'

Wir können einfach ein Array erstellen:

myFruits = ['banana','apple','orange']

Mit einem Array können Sie:

  • Speichern Sie eine Sammlung von Zahlen, Wörtern oder Objekten.
  • Zugriff auf beliebige Werte über deren Index (Position).
  • Lesen, Aktualisieren, Einfügen oder Entfernen beliebiger Array-Werte.

In den folgenden Abschnitten erfahren Sie, wie ein Array erstellt und verwendet werden kann.


Erstellen eines Arrays

Beim Erstellen eines Arrays müssen wir den Namen des Arrays und die darin enthaltenen Werte angeben.

So kann das Array myFruits mithilfe verschiedener Programmiersprachen erstellt werden:


Python:
myFruits = ['banana','apple','orange']
JavaScript:
const myFruits = ['banana','apple','orange'];
Java:
String[] myFruits = {"banana","apple","orange"};
C++:
string myFruits[] = {"banana","apple","orange"};
Run Example »

Im obigen Python-Code:

  • myFruits ist der Name des Arrays.
  • Das Gleichheitszeichen = speichert die Werte auf der rechten Seite im Array.
  • Die eckigen Klammern [ ] bedeuten, dass wir ein Array erstellen.
  • 'banana','apple','orange' sind die Werte im Array, getrennt durch Kommas.

Hinweis: Beim Erstellen eines Arrays in Programmiersprachen wie C/C++ und Java muss der Datentyp der Werte im Array angegeben werden.


Array-Operationen

Arrays können auf viele verschiedene Arten gelesen und bearbeitet werden. Hier sind einige allgemeine Dinge, die Sie mit einem Array tun können:

Betrieb Beschreibung
read Liest einen Wert aus einem Index im Array.
update Aktualisiert den vorhandenen Wert an einer Array-Indexposition.
insert Fügen Sie zusätzlich zu den vorhandenen Werten einen neuen Wert in das Array ein.
remove Entfernt einen Wert aus dem Array an einer bestimmten Indexposition.
length Gibt die Anzahl der Werte im Array an. Die Anzahl der Werte entspricht der Länge eines Arrays.
loop Besuchen Sie jeden Wert im Array mithilfe einer Schleife.

Gehen Sie zu den folgenden Abschnitten, um zu sehen, wie der Code für diese Array-Operationen in verschiedenen Programmiersprachen aussieht.


Lesen eines Array-Werts

Um einen Array-Wert zu lesen, verwenden wir den Array-Namen mit dem Index des Wertes, den wir lesen möchten, in Klammern, wie folgt myFruits[0].

{{ i }} '{{ el.value }}'

Result: '{{ result }}'

Damit wir das Ergebnis auch tatsächlich sehen können, müssen wir zusätzlich per Kommando myFruits[0] in die Konsole/das Terminal schreiben, und das läuft je nach Programmiersprache etwas anders ab.


Python:
myFruits = ['banana','apple','orange']

print(myFruits[0])
JavaScript:
const myFruits = ['banana','apple','orange'];

console.log(myFruits[0]);
Java:
String[] myFruits = {"banana","apple","orange"};

System.out.println(myFruits[0]);
C++:
string myFruits[] = {"banana","apple","orange"};

cout << myFruits[0];
Run Example »

Aktualisieren eines Array-Werts

Um einen Wert in einem Array zu aktualisieren, verwenden wir den Array-Namen mit der Indexposition des Werts, den wir aktualisieren möchten, etwa so: myFruits[0], und dann verwenden wir das Gleichheitszeichen =, um dort einen neuen Wert zu speichern.

{{ i }} '{{ el.value }}'

 

So kann das Aktualisieren eines Array-Werts am Index 0 in verschiedenen Programmiersprachen erfolgen:


Python:
myFruits = ['banana','apple','orange']

myFruits[0] = 'kiwi'
JavaScript:
const myFruits = ['banana','apple','orange'];

myFruits[0] = 'kiwi';
Java:
String[] myFruits = {"banana","apple","orange"};

myFruits[0] = "kiwi";
C++:
string myFruits[] = {"banana","apple","orange"};

myFruits[0] = "kiwi";
Run Example »

Einfügen eines Array-Wertes

Um einen Wert in ein Array einzufügen, benötigen wir zusätzlich zu den vorhandenen Werten:

  • Arrayname
  • Befehl zum Ausführen der Einfügeoperation
  • Einzufügender Wert
{{ i }} '{{ el.value }}'

 

Wenn wir auf diese Weise einfügen, wird der neue Wert am Ende des Arrays eingefügt.

Der Befehl zum Einfügen eines Werts in ein Array variiert zwischen den Programmiersprachen etwas.


Python:
myFruits = ['banana','apple','orange']

myFruits.append('kiwi')
JavaScript:
const myFruits = ['banana','apple','orange'];

myFruits.push('kiwi');
Java:
ArrayList<String> myFruits = new ArrayList<String>();
myFruits.add("banana");
myFruits.add("apple");
myFruits.add("orange");

myFruits.add("kiwi");
C++:
vector<string> myFruits = {"banana", "apple", "orange"};

myFruits.push_back("kiwi");
Run Example »

Ein Dynamisches Array ist ein Array, dessen Größe sich ändern kann, wie es beispielsweise bei Einfüge- und Löschvorgängen erforderlich ist. In solchen Fällen, in denen sich die Größe des Arrays ändert, verwenden wir in Java ArrayList und in C++ vector.

Mithilfe des Index kann ein Wert auch einer bestimmten Position in einem Array hinzugefügt werden, und zwar wie folgt:


Python:
myFruits = ['banana','apple','orange']

myFruits.insert(1,'kiwi')
JavaScript:
const myFruits = ['banana','apple','orange'];

myFruits.splice(1,0,'kiwi');
Java:
ArrayList<String> myFruits = new ArrayList<String>();
myFruits.add("banana");
myFruits.add("apple");
myFruits.add("orange");

myFruits.add(1,"kiwi");
C++:
vector<string> myFruits = {"banana", "apple", "orange"};

myFruits.insert(myFruits.begin() + 1, "kiwi");
Run Example »

Entfernen eines Array-Werts

Ein Array-Wert wird entfernt, indem der Index angegeben wird, von dem der Wert entfernt werden soll.

{{ i }} '{{ el.value }}'

 

So kann ein Array-Wert am Index 1 in verschiedenen Programmiersprachen entfernt werden:


Python:
myFruits = ['banana','apple','orange']

myFruits.pop(1)
JavaScript:
const myFruits = ['banana','apple','orange'];

myFruits.splice(1,1);
Java:
ArrayList<String> myFruits = new ArrayList<String>();
myFruits.add("banana");
myFruits.add("apple");
myFruits.add("orange");

myFruits.remove(1);
C++:
vector<string> myFruits = {"banana", "apple", "orange"};

myFruits.erase(myFruits.begin() + 1);
Run Example »

Ein Wert kann auch vom Ende eines Arrays entfernt werden, ohne den Index zu verwenden (außer in Java), und zwar wie folgt:


Python:
myFruits = ['banana','apple','orange']

myFruits.pop()
JavaScript:
const myFruits = ['banana','apple','orange'];

myFruits.pop();
Java:
ArrayList<String> myFruits = new ArrayList<String>();
myFruits.add("banana");
myFruits.add("apple");
myFruits.add("orange");

myFruits.remove(myFruits.size()-1);
C++:
vector<string> myFruits = {"banana", "apple", "orange"};

myFruits.pop_back();
Run Example »

Ermitteln der Länge eines Arrays

Sie können jederzeit die Länge eines Arrays überprüfen:

{{ i }} '{{ el.value }}'

Result: {{ result }}

So wird die Länge eines Arrays in verschiedenen Programmiersprachen ermittelt:


Python:
myFruits = ['banana','apple','orange']

print(len(myFruits))
JavaScript:
const myFruits = ['banana','apple','orange'];

console.log(myFruits.length);
Java:
ArrayList<String> myFruits = new ArrayList<String>();
myFruits.add("banana");
myFruits.add("apple");
myFruits.add("orange");

System.out.println(myFruits.size());
C++:
vector<string> myFruits = {"banana", "apple", "orange"};

cout << myFruits.size();
Run Example »

Durchlaufen eines Arrays

Auf dieser Seite finden Sie eine Erklärung, was eine Schleife ist.

Das Durchlaufen eines Arrays bedeutet, jeden Wert im Array zu betrachten.

So können wir das Array myFruits mithilfe einer for-Schleife durchlaufen und jeden Wert ausgeben:

{{ i }} '{{ el.value }}'

Result:

Es gibt mehrere Möglichkeiten, ein Array zu durchlaufen. Die Verwendung einer for-Schleife ist jedoch möglicherweise der direkteste Weg, der auch in allen Programmiersprachen unterstützt wird, etwa wie folgt:


Python:
myFruits = ['banana','apple','orange']

for fruit in myFruits:
  print(fruit)
JavaScript:
const myFruits = ['banana','apple','orange'];

for (let fruit of myFruits) {
  console.log(fruit);
}
Java:
String[] myFruits = {"banana", "apple", "orange"};

for (String fruit : myFruits) {
  System.out.println(fruit);
}
C++:
string myFruits[] = {"banana", "apple", "orange"};

for (auto fruit : myFruits) {
  cout << fruit + "\n";
}
Run Example »

Eine andere Möglichkeit, ein Array zu durchlaufen, besteht darin, eine for-Schleife mit einer Zählvariable für die Indizes zu verwenden, wie folgt:


Python:
myFruits = ['banana','apple','orange']

for i in range(len(myFruits)):
  print(myFruits[i])
JavaScript:
const myFruits = ['banana','apple','orange'];

for (let i = 0; i < myFruits.length; i++) {
  console.log(myFruits[i]);
}
Java:
String[] myFruits = {"banana", "apple", "orange"};

for (int i = 0; i < myFruits.length; i++) {
  System.out.println(myFruits[i]);
}
C++:
string myFruits[] = {"banana", "apple", "orange"};
int size = sizeof(myFruits) / sizeof(myFruits[0]);

for (int i = 0; i < size; i++) {
  cout << myFruits[i] + "\n";
}
Run Example »

Mit der Schleife durch Arrays können wir beispielsweise herausfinden, ob „Bob“ in einem Array von Namen vorkommt, oder wir können beispielsweise ein Array von Lebensmitteln durchlaufen, um die Gesamtsumme zu ermitteln, die wir dafür bezahlen müssen.

Unten sehen Sie ein Beispiel für die Schleife durch ein Array von Namen auf der Suche nach „Bob“.


Python:
listOfNames = ['Jones','Jill','Lisa','Stan','Bob','Alice']

for i in range(len(listOfNames)):
  print(listOfNames[i])
  if listOfNames[i] == 'Bob':
    print('Found Bob!')
    break
JavaScript:
let listOfNames = ['Jones','Jill','Lisa','Stan','Bob','Alice'];

for (let i = 0; i < listOfNames.length; i++) {
  console.log(listOfNames[i]);
  if (listOfNames[i] === 'Bob') {
    console.log('Found Bob!');
     break;
  }
}
Java:
String[] listOfNames = {"Jones", "Jill", "Lisa", "Stan", "Bob", "Alice"};

for (int i = 0; i < listOfNames.length; i++) {
  System.out.println(listOfNames[i]);
  if (listOfNames[i] == "Bob") {
    System.out.println("Found Bob!");
    break;
  }
}
C++:
string listOfNames[] = {"Jones", "Jill", "Lisa", "Stan", "Bob", "Alice"};
int size = sizeof(listOfNames) / sizeof(listOfNames[0]);

for (int i = 0; i < size; i++) {
  cout << listOfNames[i] + "\n";
  if (listOfNames[i] == "Bob") {
    cout << "Found Bob!\n";
    break;
  }
}
Run Example »

Im obigen Code stoppt die break-Anweisung die Schleife, sobald „Bob“ gefunden wird. Deshalb wird „Alice“ nicht ausgegeben.


Strikte Definition eines Arrays

Arrays in modernen Sprachen wie Python oder JavaScript sind flexibel. Das bedeutet, dass sie wachsen, schrumpfen und verschiedene Wertetypen enthalten können. In anderen Programmiersprachen wie C und Java müssen Arrays strenger definiert werden.

Eine strengere Definition eines Arrays bedeutet, dass ein Array nicht nur eine Sammlung von Werten ist, sondern auch:

  • Feste Länge
  • Gleicher Datentyp für alle Werte
  • Zusammenhängend im Speicher gespeichert

Feste Länge bedeutet, dass die Array-Länge (die Anzahl der Werte innerhalb des Arrays) nicht geändert werden kann.

Wenn Sie beispielsweise in der Programmiersprache C ein Array mit vier Werten erstellt haben, ist die Array-Länge (4) fest und kann nicht geändert werden. Wenn Sie also einen fünften Wert am Ende Ihres Arrays einfügen möchten, müssen Sie ein neues Array mit fünf Werten erstellen, die ursprünglichen vier Werte einfügen und den fünften Wert an der letzten Stelle des neuen Arrays platzieren, wo nun Platz dafür ist.

Gleicher Datentyp bedeutet, dass alle Werte im Array vom gleichen Typ sein müssen, also beispielsweise alle ganze Zahlen, Dezimalzahlen, Zeichen, Zeichenfolgen oder ein anderer Datentyp sein müssen.

Wenn das Array zusammenhängend im Speicher gespeichert wird, werden die Werte direkt hintereinander in einem Speicherblock abgelegt, ähnlich wie bei einer Gruppe von Freunden, die direkt nebeneinander in derselben Straße wohnen. Weitere Informationen zur Speicherung von Arrays finden Sie hier.

Durch die Verwendung von Arrays in ihrer strengen Form hat der Benutzer die volle Kontrolle über die tatsächliche Ausführung des Programms. Allerdings erschwert dies auch die Ausführung bestimmter Dinge und erhöht die Fehleranfälligkeit.

Wenn Entwickler in Sprachen wie C oder Java flexiblere/dynamischere Array-Funktionen benötigen, verwenden sie häufig Bibliotheken, um die gewünschte erweiterte dynamische Array-Funktionalität zu erhalten.

Um in den Codebeispielen auf dieser Seite eine dynamische Arraylänge zu erreichen, damit wir Werte einfügen und entfernen können, haben wir Python-Listen, JavaScript-Arrays, Java-ArrayList und C++-Vektoren verwendet.