Unterschied zwischen Arrays und Arraylisten

Arrays vs. Arraylisten

Arrays sind die am häufigsten verwendete Datenstruktur zum Speichern einer Sammlung von Elementen. Die meisten Programmiersprachen bieten Methoden zum einfachen Deklarieren von Arrays und Zugriffselementen in den Arrays. Eine Arrayliste kann als dynamisches Array betrachtet werden, dessen 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 Code dargestellt, der 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;

Abbildung 1: Code zum Deklarieren und Zuweisen von Werten zu einem Array


100 101 102 103 104
Index: 0 1 2 3 4

Abbildung 2: Array im Speicher gespeichert

Der obige Code definiert ein Array, in dem 5 Ganzzahlen gespeichert werden können, auf das über die Indizes 0 bis 4 zugegriffen wird. Eine wichtige Eigenschaft eines Arrays besteht darin, dass das gesamte Array als einzelner Speicherblock zugewiesen wird und jedes Element seinen eigenen Platz im Array erhält . Sobald ein Array definiert ist, wird seine Größe festgelegt. Wenn Sie sich zum Zeitpunkt des Kompilierens nicht sicher sind, wie groß das Array ist, müssen Sie ein ausreichend großes Array definieren, um sich auf der sicheren Seite zu befinden. In den meisten Fällen werden wir jedoch weniger Elemente verwenden, als wir zugewiesen haben. Eine beträchtliche Menge an Speicher wird also tatsächlich verschwendet. Wenn andererseits das „ausreichend große Array“ nicht groß genug ist, würde das Programm abstürzen.

Was sind Arraylisten??

Eine Arrayliste kann als dynamisches Array betrachtet werden, dessen Größe zunehmen kann. Daher sind Arraylisten ideal für Situationen, in denen Sie die Größe der Elemente zum Zeitpunkt der Deklaration nicht kennen. In Java können Arraylisten nur Objekte enthalten, sie können keine primitiven Typen direkt enthalten (Sie können die primitiven Typen in ein Objekt einfügen oder die Wrapper-Klassen der primitiven Typen verwenden). Im Allgemeinen werden Arraylisten mit Methoden zum Einfügen, Löschen und Suchen bereitgestellt. Die zeitliche Komplexität des Zugriffs auf ein Element ist o (1), während das Einfügen und Löschen eine zeitliche Komplexität von o (n) hat. In Java können Arraylisten mit foreach-Schleifen, Iteratoren oder einfach mit den Indizes durchsucht werden.

Was ist der Unterschied zwischen Arrays und Arraylisten?

Obwohl die Arrays und Arraylisten sich in dem Sinne ähnlich sind, dass beide zum Speichern von Elementgruppen verwendet werden, unterscheiden sie sich in ihrer Definition. Die Größe des Arrays muss angegeben werden, wenn ein Array definiert wird. 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 diese definiert wurde. Dies ist bei Arrays nicht möglich. In Java können Arraylisten jedoch keine primitiven Typen enthalten. Arrays können jedoch für primitive Typen verwendet werden. Wenn Sie jedoch eine Datenstruktur benötigen, deren Größe variieren kann, ist arraylist die beste Wahl.