Unterschied zwischen Array und ArrayList

Was ist Array und ArrayList??

Sowohl Array als auch ArrayList sind indexbasierte Datenstrukturen, die häufig in Java-Programmen verwendet werden. Konzeptionell wird ArrayList intern durch Arrays unterstützt. Der Unterschied zwischen den beiden ist jedoch der Schlüssel, um ein großer Java-Entwickler zu werden. Dies ist der grundlegende Schritt, vor allem für Anfänger, die gerade mit dem Programmieren begonnen haben. Beide Elemente werden zum Speichern von Elementen in Java verwendet, bei denen es sich um Grundelemente oder Objekte handeln kann, sie weisen jedoch einen erheblichen Teil der Unterschiede in Bezug auf Funktionalität und Leistung auf. Der Hauptunterschied zwischen den beiden ist, dass Array statisch ist, während ArrayList dynamischer Natur ist. In diesem Artikel werden die beiden Aspekte unter verschiedenen Gesichtspunkten miteinander verglichen, sodass Sie eine Auswahl treffen können.

Unterschied zwischen Array und Arraylist

  1. Der Größe veränderbar

Einer der Hauptunterschiede zwischen den beiden Datenstrukturen besteht darin, dass Array statischer Natur ist. Dies bedeutet, dass es sich um einen Datentyp mit fester Länge handelt, während ArrayList dynamisch ist. Dies bedeutet, dass es sich um eine Datenstruktur mit variabler Länge handelt. Technisch gesehen kann die Länge eines Arrays nicht geändert oder geändert werden, sobald das Array-Objekt erstellt wurde. Es enthält eine sequentielle Sammlung von Elementen desselben Datentyps. Arrays in Java funktionieren anders als in C / C ++. ArrayList hingegen kann die Größe selbst ändern und die Arrays können nach Bedarf wachsen. Da es sich um eine dynamische Datenstruktur handelt, können die Elemente hinzugefügt und aus der Liste entfernt werden.

  1. Generics

Sie können keine Arrays generischer Schnittstellenklassen in Java erstellen, so dass Arrays und Generics nicht Hand in Hand gehen, sodass die Generierung von Generic Array nicht möglich ist. Während Array eine Datenstruktur mit fester Länge ist, enthält es Objekte derselben Klasse oder Primitive des jeweiligen Datentyps. Wenn Sie also versuchen, einen anderen Datentyp als den beim Erstellen des Array-Objekts angegebenen zu speichern, wird einfach "ArrayStoreException" ausgelöst. Auf der anderen Seite unterstützt ArrayList Generics, um die Typsicherheit zu gewährleisten.

  1. Primitive

Primitive Datentypen wie int, double, long und char sind in ArrayList nicht zulässig. Es enthält vielmehr Objekte und Grundelemente werden in Java nicht als Objekte betrachtet. Arrays dagegen können sowohl Grundelemente als auch Objekte in Java enthalten, da dies eine der effizientesten Datenstrukturen in Java zum Speichern von Objekten ist. Es handelt sich um einen aggregierten Datentyp, der Objekte aufnehmen kann, die entweder den gleichen oder einen anderen Typ haben können.

  1. Länge

Um die Länge des Arrays zu ermitteln, muss der Code auf das Längenattribut zugreifen, da die Länge bekannt sein muss, um Operationen mit Array durchzuführen. ArrayList verwendet zwar die size () -Methode, um die Größe der ArrayList zu bestimmen, unterscheidet sich jedoch eher von der Länge des Arrays. Das Methodenattribut size () bestimmt die Anzahl der Elemente in einer ArrayList, die wiederum die Kapazität der ArrayList ist.

Zum Beispiel:

öffentliche Klasse ArrayLengthTest

public static void main (String [] args)

ArrayList arrList = neue ArrayList ();

String [] items = "Eins", "Zwei", "Drei";

for (String str: items)

arrList.add (str);

int size = items.size ();

System.out.println (Größe);

  1. Implementierung

Array ist eine native Programmierkomponente in Java, die dynamisch erstellt wird und den Zuweisungsoperator zum Halten von Elementen verwendet, während ArrayList das Attribut add () zum Einfügen von Elementen verwendet. ArrayList ist eine Klasse aus dem Collection Framework in Java, die eine Reihe von angegebenen Methoden verwendet, um auf die Elemente zuzugreifen und sie zu ändern. Die Größe einer ArrayList kann dynamisch erhöht oder verringert werden. Die Elemente in einem Array werden an einem zusammenhängenden Speicherort gespeichert, und ihre Größe bleibt durchgehend statisch.

  1. Performance

Während beide Datenstrukturen eine ähnliche Leistung bieten, da ArrayList durch Arrays abgesichert ist, hat eine andere gegenüber der anderen etwas, was die CPU-Zeit und die Speicherauslastung angeht. Nehmen wir an, wenn Sie die Größe des Arrays kennen, werden Sie wahrscheinlich zur ArrayList. Das Durchlaufen eines Arrays ist jedoch etwas schneller als das Durchlaufen einer ArrayList. Wenn das Programm eine große Anzahl von Grundelementen umfasst, wird ein Array sowohl hinsichtlich der Zeit als auch des Arbeitsspeichers eine deutlich bessere Leistung als die ArrayList erbringen. Arrays sind eine einfache Programmiersprache, die in Implementierungen von Sammlungen verwendet werden kann. Die Leistung hängt jedoch von der von Ihnen durchgeführten Operation ab.

Array Vs. Anordnungsliste

Array Anordnungsliste
Array ist eine Datenstruktur mit fester Länge, deren Länge nach dem Erstellen des Array-Objekts nicht mehr geändert werden kann. ArrayList ist von Natur aus dynamisch, was bedeutet, dass die Größe selbst angepasst werden kann, um bei Bedarf zu wachsen.
Die Größe eines Arrays bleibt im gesamten Programm statisch. Die Größe einer ArrayList kann je nach Last und Kapazität dynamisch wachsen.
Es verwendet einen Zuweisungsoperator zum Speichern von Elementen. Es verwendet das add () -Attribut, um Elemente einzufügen.
Es kann Grundelemente sowie Objekte desselben oder eines anderen Datentyps enthalten. Grundelemente sind in ArrayList nicht zulässig. Sie kann nur Objekttypen enthalten.
Arrays und Generics gehen nicht Hand in Hand. Generics sind in ArrayList erlaubt.
Arrays können mehrdimensional sein. ArrayList ist eindimensional.
Es ist eine native Programmierkomponente, in der die Elemente in benachbarten Speicherstellen gespeichert werden. Es ist eine Klasse aus dem Collection-Framework von Java, in der die Objekte niemals an benachbarten Speicherorten gespeichert werden.
Die Längenvariable wird verwendet, um die Länge des Arrays zu bestimmen. Die Size () -Methode wird verwendet, um die Größe der ArrayList zu bestimmen.
Benötigt weniger Speicher als ArrayList, um angegebene Elemente oder Objekte zu speichern. Benötigt mehr Speicher als das Array, um Objekte zu speichern.
Das Durchlaufen eines Arrays ist schneller als das Durchlaufen einer ArrayList. Das Durchlaufen einer ArrayList ist in Bezug auf die Leistung erheblich langsamer.

Zusammenfassung

Während einige der Meinung sind, dass die Implementierung von Arrays in einem Programm zu schnelleren Ergebnissen führen kann, als dies mit ArrayLists der Fall ist, weil Arrays eine einfache Datenstruktur sind, kann die Leistung abhängig von der von Ihnen ausgeführten Operation variieren. Nun, die Länge eines Arrays ist fest vorgegeben, wohingegen die Größe von ArrayList dynamisch erhöht oder verringert werden kann, sodass ArrayList in Bezug auf die Funktionalität einen kleinen Vorteil gegenüber dem Array hat. Trotz der Unterschiede weisen sie jedoch auch einige Gemeinsamkeiten auf. Beide sind indexbasierte Datenstrukturen in Java, in denen Sie Objekte speichern können, und sie erlauben sowohl Nullwerte als auch Duplikate. Wenn Sie die Größe der Objekte vorher kennen, sollten Sie ein Array verwenden. Wenn Sie sich nicht sicher sind, in welcher Größe sich die Objekte befinden, verwenden Sie die ArrayList.