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: Unterschied zwischen Compiler und Interpreter 2024, November
Anonim

Arrays vs. Arraylisten

Arrays sind die am häufigsten verwendete Datenstruktur zum Speichern einer Sammlung von Elementen. Die meisten Programmiersprachen bieten Methoden, um Arrays einfach zu deklarieren und auf Elemente in den Arrays zuzugreifen. Eine Arrayliste kann als dynamisches Array betrachtet werden, dessen Größe wachsen 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 verwendet wird, um Werte zu deklarieren und einem Array Werte zuzuweisen. Abbildung 2 zeigt, wie ein Array im Speicher aussehen würde.

int Werte[5];

values[0]=100;

values[1]=101;

values[2]=102;

values[3]=103;

values[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 abgelegtes Array

Der obige 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 ist, dass das gesamte Array als ein einzelner Speicherblock zugewiesen wird und jedes Element seinen erhält eigenen Platz im Array. Sobald ein Array definiert ist, ist seine Größe festgelegt. Wenn Sie also zur Kompilierzeit 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. Aber meistens werden wir tatsächlich weniger Elemente verwenden, als wir zugewiesen haben. Es wird also tatsächlich eine beträchtliche Menge an Speicher verschwendet. Wenn andererseits das „large enough array“nicht wirklich groß genug ist, würde das Programm abstürzen.

Was sind Arraylisten?

Eine Arrayliste kann als dynamisches Array angesehen werden, dessen Größe wachsen kann. Daher sind Arraylisten ideal für Situationen, in denen Sie die Größe der erforderlichen Elemente zum Zeitpunkt der Deklaration nicht kennen. In Java können Arraylisten nur Objekte enth alten, sie können keine primitiven Typen direkt enth alten (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 Zeitkomplexität des Zugriffs 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 Arraylisten mit foreach-Schleifen, Iteratoren oder einfach mit den Indizes durchlaufen werden.

Was ist der Unterschied zwischen Arrays und Arraylisten

Obwohl Arrays und Arraylisten in dem Sinne ähnlich sind, dass sie beide verwendet werden, um Sammlungen von Elementen zu speichern, unterscheiden sie sich in ihrer Definition. Die Größe des Arrays muss angegeben werden, wenn ein Array definiert wird, aber Sie können 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 Arraylisten keine primitiven Typen enth alten, aber Arrays können verwendet werden, um primitive Typen zu enth alten. Wenn Sie jedoch eine Datenstruktur benötigen, deren Größe variieren kann, wäre arraylist die beste Wahl.

Empfohlen: