Zum Hauptinhalt springen

Wie erstelle ich ein Array, wenn seine Größe unbekannt ist?

Arrays sind eine der wichtigsten Datenstrukturen in den meisten Programmiersprachen. Sie ermöglichen es Ihnen, mehrere Werte desselben Typs in einer Variablen zu speichern.

Eine häufige Frage beim Arbeiten mit Arrays ist die Auswahl der Anfangsgröße. In einigen Fällen kann es schwierig sein, die erforderliche Größe im Voraus zu bestimmen, insbesondere wenn dies von externen Faktoren abhängt oder sich während der Ausführung des Programms ändert.

Es gibt jedoch eine Möglichkeit, ein Array ohne die ursprünglich angegebene Größe zu erstellen. Anstatt eine feste Array-Größe anzugeben, können Sie ein dynamisches Array verwenden, das sich während der Programmausführung je nach den aktuellen Anforderungen ändert.

Aufzählung von Methoden zum Erstellen eines Arrays ohne die ursprünglich angegebene Größe

Das Erstellen eines Arrays ohne die ursprünglich angegebene Größe kann in vielen Programmiersituationen nützlich sein. Hier sind einige Möglichkeiten, solche Arrays zu erstellen:

1. Verwenden der ArrayList-Klasse:

Eine ArrayList ist eine Klasse aus dem Java Collections Framework, die praktischere Methoden für die Arbeit mit einem Array bereitstellt. Es ist möglich, eine ArrayList zu erstellen, ohne die Größe anzugeben, und sie wird automatisch wachsen, wenn Elemente hinzugefügt werden.

ArrayList array = new ArrayList();

2. Verwenden der List-Klasse:

Eine List ist eine Schnittstelle, die von verschiedenen Klassen wie ArrayList oder LinkedList implementiert werden kann. Sie können eine List erstellen, ohne die Größe anzugeben, und sie können Elemente nach Bedarf hinzufügen.

List list = new ArrayList();

3. Verwenden eines dynamischen Arrays:

Ein dynamisches Array ist ein Array, das seine Größe ändern kann. In Programmiersprachen wie C++ oder C# können Sie ein dynamisches Array ohne Angabe der Größe erstellen und es mithilfe von Funktionen ändern.

int[] dynamicArray = new int[0];

4. Verwenden der LinkedList-Datenstruktur:

Eine LinkedList ist eine Datenstruktur, die Elemente als eine Sequenz von Knoten speichert, von denen jeder einen Verweis auf den nächsten Knoten enthält. Eine LinkedList kann verwendet werden, um ein Array ohne die ursprünglich angegebene Größe zu erstellen, da Sie Elemente dynamisch hinzufügen und entfernen können.

LinkedList linkedList = new LinkedList();

Je nach Aufgabe und Programmiersprache können Sie wählen, wie ein Array ohne die ursprünglich festgelegte Größe erstellt werden soll. Dies ermöglicht eine flexiblere Speicherverwaltung und vereinfacht die Arbeit mit Daten.

Verwenden einer ArrayList zum dynamischen Ändern der Größe

In Java können Sie die ArrayList-Klasse verwenden, um ein Array ohne die ursprünglich angegebene Größe zu erstellen. Die ArrayList-Klasse ist ein dynamisches Array, das seine Größe automatisch ändern kann, wenn Elemente hinzugefügt oder entfernt werden.

Der Vorteil der Verwendung von ArrayList besteht darin, dass Sie die Größe des Arrays während der Programmausführung flexibel ändern können, ohne dass ein neues Array mit einer größeren oder kleineren Größe erstellt werden muss.

Um ArrayList zu verwenden, müssen Sie das entsprechende Paket importieren:

import java.util.ArrayList;

Sie können dann eine ArrayList-Instanz erstellen, indem Sie den Typ der Elemente angeben, die im Array gespeichert werden sollen:

ArrayList имя_переменной = new ArrayList<>();

Um beispielsweise eine ArrayList zum Speichern Ganzzahlen zu erstellen, müssen Sie den Datentyp Integer angeben :

ArrayList numbers = new ArrayList<>();

Wenn Sie der ArrayList ein Element hinzufügen möchten, können Sie die add() -Methode verwenden. Zum Beispiel:

numbers.add(10); // добавить число 10 в списокnumbers.add(20); // добавить число 20 в список

Elemente in einer ArrayList können mithilfe der get() -Methode über den Index abgerufen werden. Zum Beispiel, um den Wert des ersten Elements zu erhalten:

int firstElement = numbers.get(0);

Sie können auch die Werte von Elementen ändern, indem Sie ihnen neue Werte zuweisen. Zum Beispiel, um den Wert des zweiten Elements zu ändern:

numbers.set(1, 30); // изменить второй элемент на значение 30

Sie können die remove() -Methode verwenden, um ein Element aus einer ArrayList zu entfernen. Zum Beispiel, um das erste Element zu löschen:

numbers.remove(0); // удалить первый элемент из списка

Sie können auch die aktuelle Größe der ArrayList mit der size() -Methode abrufen :

int size = numbers.size();

Die Verwendung einer ArrayList macht es einfach, die Größe eines Arrays zur Laufzeit des Programms entsprechend den Anforderungen zu ändern.

Verwenden von LinkedList für eine dynamische Datenstruktur

Die Grundidee hinter LinkedList ist, dass jedes Listenelement einen Zeiger auf das nächste Element speichert. Daher kann eine LinkedList als eine Sequenz von Knoten dargestellt werden, wobei jeder Knoten Daten und einen Verweis auf den nächsten Knoten enthält.

Vorteile der Verwendung von LinkedList:

  • Dynamische Größenänderung möglich
  • Fügen Sie Elemente in der Mitte der Liste effektiv hinzu und entfernen Sie sie
  • Flexiblere Datenstruktur für bestimmte Algorithmen

LinkedList hat jedoch auch seine Nachteile:

  • Das Abrufen von Elementen nach einem Index ist ineffizient, da Sie die gesamte Liste vom Anfang bis zum gewünschten Index durchlaufen müssen
  • Verwenden Sie zusätzlichen Speicher, um Zeiger auf die folgenden Elemente zu speichern

Die Verwendung von LinkedList kann in Situationen nützlich sein, in denen die Anzahl der Elemente im Voraus unbekannt ist oder Sie häufig Elemente hinzufügen oder entfernen möchten. Wenn Sie jedoch schnell über einen Index auf Elemente zugreifen möchten, ist es am besten, andere Datenstrukturen wie Arrays oder ArrayList zu verwenden.

Verwenden einer ArrayList mit der Methode zum Hinzufügen von Elementen nach Bedarf

Um eine ArrayList zu verwenden, müssen Sie zuerst die Klasse importieren:

Anschließend können Sie ein neues ArrayList-Objekt erstellen:

ArrayList Name des Arrays = new ArrayList<>();

Hier ist der "Elementtyp" der Typ der Daten, die in einer ArrayList gespeichert werden. Wenn Sie beispielsweise eine ArrayList erstellen möchten, die ganze Zahlen speichert, wird der "Elementtyp" durch "Integer" ersetzt.

Nachdem Sie eine ArrayList erstellt haben, können Sie Methoden zum Hinzufügen von Elementen verwenden:

  • Name des Arrays.add(Element); - Fügt ein Element am Ende des Arrays hinzu
  • Name des Arrays.add(Index, Element); - Fügt das Element an der angegebenen Position hinzu

Beispiel für die Verwendung einer ArrayList:

import java.util.ArrayList;public class Main numbers = new ArrayList<>();numbers.add(10); // Добавление элемента в конец массиваnumbers.add(0, 5); // Добавление элемента на позицию 0>>

Mit der ArrayList können Sie die Größe eines Arrays flexibel steuern, Elemente nach Bedarf hinzufügen und entfernen. Dies ist sehr nützlich, wenn Sie nicht im Voraus wissen, wie viele Elemente im Array sein werden.

Verwenden eines dynamisch erweiterbaren Arrays

Mit einem dynamischen Array können Sie Elemente nach Bedarf hinzufügen, ohne die ursprüngliche Größe festzulegen. Wenn Sie das Array erweitern möchten, während das Programm ausgeführt wird, wird automatisch zusätzlicher Speicher zugewiesen, um neue Elemente zu speichern.

Um ein dynamisch erweiterbares Array in einer Programmiersprache wie JavaScript zu verwenden, können Sie die integrierten Methoden zum Arbeiten mit Arrays verwenden. Zum Beispiel gibt es in JavaScript eine Push() -Methode, mit der Sie neue Elemente am Ende eines Arrays hinzufügen können.

Beispiel für die Verwendung eines dynamisch erweiterbaren Arrays:

let dynamicArray = [];dynamicArray.push(1);dynamicArray.push(2);dynamicArray.push(3);console.log(dynamicArray); // [1, 2, 3]

In diesem Beispiel wird ein leeres, dynamisch erweiterbares DynamicArray erstellt. Anschließend werden die Elemente mithilfe der push() -Methode dem Array hinzugefügt. Daher wird das dynamische Array vergrößert, wenn neue Elemente hinzugefügt werden.

Durch die Verwendung eines dynamisch erweiterbaren Arrays können Sie flexibel mit Daten arbeiten, ohne die Größe des Arrays vorher festlegen zu müssen. Dies ist besonders nützlich, wenn im Voraus nicht bekannt ist, wie viele Elemente dem Array hinzugefügt werden.