Unterschied Zwischen Arrays Und Arraylisten

Unterschied Zwischen Arrays Und Arraylisten
Unterschied Zwischen Arrays Und Arraylisten

Video: Unterschied Zwischen Arrays Und Arraylisten

Video: Unterschied Zwischen Arrays Und Arraylisten
Video: OOP - Array und ArrayList Vergleich 2024, April
Anonim

Arrays gegen 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 zum Zugriff auf Elemente in den Arrays. Eine Arrayliste kann als dynamisches Array angesehen werden, dessen Größe zunehmen kann. Aus diesem Grund muss die Programmiererin die Größe der Arrayliste nicht kennen, wenn sie 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.

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: Im Speicher gespeichertes Array

Definiert über dem Code ein Array, das 5 Ganzzahlen speichern kann und auf das mit den 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 Speicherplatz im Array erhält. Sobald ein Array definiert ist, ist seine Größe festgelegt. Wenn Sie sich also beim Kompilieren nicht sicher sind, wie groß das Array ist, müssen Sie ein Array definieren, das groß genug ist, um auf der sicheren Seite zu sein. In den meisten Fällen werden wir jedoch weniger Elemente verwenden, als wir zugewiesen haben. So wird tatsächlich eine beträchtliche Menge an Speicher verschwendet. Wenn andererseits das "ausreichend große Array" nicht groß genug ist, stürzt das Programm ab.

Was sind Arraylisten?

Eine Arrayliste kann als dynamisches Array angesehen werden, dessen Größe zunehmen kann. Daher sind Arraylisten ideal für Situationen, in denen Sie die Größe der zum Zeitpunkt der Deklaration erforderlichen Elemente 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 erhalten Arraylisten Methoden zum Einfügen, Löschen und Suchen. Die zeitliche Komplexität des Zugriffs auf ein Element beträgt o (1), während das Einfügen und Löschen eine zeitliche Komplexität von o (n) aufweist. In Java können Arraylisten mit foreach-Schleifen, Iteratoren oder einfach mit den Indizes durchlaufen werden.

Was ist der Unterschied zwischen Arrays und Arraylisten?

Obwohl die Arrays und Arraylisten in dem Sinne ähnlich sind, dass beide zum Speichern von Elementensammlungen 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 einer Arrayliste Elemente hinzufügen, nachdem sie definiert wurde. Dies ist mit Arrays nicht möglich. In Java können Arraylisten jedoch keine primitiven Typen enthalten, aber Arrays können verwendet werden, um primitive Typen zu speichern. Wenn Sie jedoch eine Datenstruktur benötigen, deren Größe variieren kann, ist Arraylist die beste Wahl.

Empfohlen: