Unterschied zwischen Arrays und Arraylisten

Anonim

Arrays gegenüber Arraylisten

Arrays zu erstellen. Die meisten Programmiersprachen bieten Methoden zum einfachen Deklarieren von Arrays und Zugriffselementen in den Arrays. Eine Arrayliste kann als dynamisches Array betrachtet werden, das in Größe zunehmen kann. Aus diesem Grund muss der Programmierer die Größe der Arrayliste nicht kennen, wenn er sie definiert.

Was sind Arrays?

In Abbildung 1 ist ein Codestück dargestellt, das normalerweise zum Deklarieren und Zuweisen von Werten zu einem Array verwendet wird. Abbildung 2 zeigt, wie ein Array im Speicher aussehen würde.

int-Werte [5];

Werte [0] = 100;

Werte [1] = 101;

Werte [2] = 102;

Werte [3] = 103;

Werte [4] = 104;

103

104 Index: 0 1 2 Abbildung 1: Code zum Deklarieren und Zuweisen von Werten zu einem Array < 3
4 - Abbildung 2: Im Speicher abgelegte Array Oberer Code definiert ein Array, das 5 Ganzzahlen speichern kann und auf die über die Indizes 0 bis 4 zugegriffen wird. Eine wichtige Eigenschaft eines Arrays besteht darin, Das gesamte Array wird als einzelner Speicherblock zugewiesen und jedes Element erhält seinen eigenen Platz im Array. Sobald ein Array definiert ist, ist seine Größe festgelegt. Wenn Sie sich zum Zeitpunkt der Kompilierung nicht sicher sind, wie groß das Array sein soll, müssen Sie ein Array mit genügend großer Größe definieren, um auf der sicheren Seite zu sein. In den meisten Fällen werden wir jedoch weniger Elemente verwenden, als wir zugewiesen haben. So ist eine beträchtliche Menge an Speicher tatsächlich verschwendet. Auf der anderen Seite würde das Programm abstürzen, wenn das "groß genug Array" nicht wirklich groß genug ist. Was sind Arraylisten? Eine Arrayliste kann als dynamisches Array betrachtet werden, das in Größe zunehmen kann. Daher sind Array-Listen ideal, um in Situationen verwendet zu werden, in denen Sie die Größe der zum Zeitpunkt der Deklaration erforderlichen Elemente nicht kennen. In Java können Array-Listen nur Objekte enthalten, sie können primitive Typen nicht direkt halten (Sie können die primitiven Typen in ein Objekt einfügen oder die Wrapper-Klassen der primitiven Typen verwenden). Im Allgemeinen sind Array-Listen mit Methoden zum Einfügen, Löschen und Suchen versehen. Die Zeitkomplexität beim Zugriff auf ein Element ist o (1), während das Einfügen und Löschen eine Zeitkomplexität von o (n) hat. In Java können Array-Listen mit Foreach-Schleifen, Iteratoren oder einfach mit den Indizes durchlaufen werden.
Was ist der Unterschied zwischen Arrays und Arraylisten

Auch wenn die Arrays und Arraylisten in dem Sinne ähnlich sind, dass beide zum Speichern von Sammlungen von Elementen verwendet werden, unterscheiden sie sich in ihrer Definition. Die Größe des Arrays muss angegeben werden, wenn ein Array definiert ist. Sie können jedoch eine Arrayliste definieren, ohne die tatsächliche Größe zu kennen. Sie können Elemente zu einer Arrayliste hinzufügen, nachdem sie definiert wurde, und dies ist bei Arrays nicht möglich.Aber in Java können Array-Listen keine primitiven Typen enthalten, aber Arrays können verwendet werden, um primitive Typen zu halten. Wenn Sie jedoch eine Datenstruktur benötigen, die ihre Größe ändern kann, wäre die Array-Liste die beste Wahl.