Unterschied zwischen Array und ArrayList

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 ist ArrayList intern von Arrays unterstützt, es ist jedoch der Schlüssel, um ein großer Java -Entwickler zu werden. Es ist anfangs der grundlegende Schritt, insbesondere mit den Anfängern, die gerade gerade angefangen haben, zu codieren. Während beide verwendet werden, um Elemente in Java zu speichern, die entweder Primitive oder Objekte sein können, haben sie einen angemessenen Anteil an Unterschieden in Bezug auf Funktionalität und Leistung. Der Hauptunterschied zwischen beiden besteht darin, dass Array statisch ist, während ArrayList von Natur aus dynamisch ist. Dieser Artikel vergleicht die beiden zu verschiedenen Aspekten, damit Sie eine über den anderen auswählen können.

Unterschied zwischen Array und ArrayList

  1. Der Größe veränderbar

Einer der wichtigsten und spürbaren Unterschiede zwischen den beiden Datenstrukturen ist, dass Array statisch ist. In technischer Hinsicht kann die Länge des 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 sich selbst ändern, und die Arrays können wachsen, wie sie benötigt werden. Da es sich um eine dynamische Datenstruktur handelt, können die Elemente hinzugefügt und aus der Liste entfernt werden.

  1. Generika

Sie können keine Arrays generischer Klassen von Schnittstellen in Java erstellen, sodass Arrays und Generika nicht Hand in Hand gehen, was es unmöglich macht, generisches Array aus dem einen grundlegenden Grund zu erstellen. Während Array eine Datenstruktur mit fester Länge ist, enthält es Objekte derselben Klasse oder Primitiven des spezifischen Datentyps. Wenn Sie also versuchen, einen anderen Datentyp zu speichern als das, das beim Erstellen von Array -Objekten angegeben ist, löst er einfach "ArrayStoreException" aus. ArrayList hingegen unterstützt Generika, um die Typ-Safety zu gewährleisten.

  1. Primitive

Primitive Datentypen wie int, doppelt, lang und char sind in ArrayList nicht zulässig. Es hält eher Objekte und Primitive werden nicht als Objekte in Java angesehen. Andererseits können Arrays sowohl Primitive als auch Objekte in Java aufnehmen, da es sich um eine der effizientesten Datenstrukturen in Java handelt. Es handelt sich um einen aggregierten Datentyp, der so konzipiert ist, dass Objekte enthalten sind, die entweder gleicher oder unterschiedlicher Typ sein können.

  1. Länge

Um die Länge des Arrays zu erhalten, muss der Code auf das Längenattribut zugreifen. Während die ArrayList -Methode verwendet wird, um die Größe der ArrayList zu bestimmen, unterscheidet sich dies von der Bestimmung der Länge des Array. Das Method -Attribut der Größe () -Methode bestimmt die Anzahl der Elemente in einer ArrayList, die wiederum die Kapazität der ArrayList ist.

Zum Beispiel:

public class ArrayLengtheTest

public static void main (String [] args)

ArrayList arrlist = new ArrayList ();

String [] items = "eins", "zwei", "drei";

für (String str: Elemente)

arrlist.add (str);

int size = items.Größe();

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

  1. Implementierung

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

  1. Leistung

Während beide Datenstrukturen eine ähnliche Leistung als Arraylist bieten, wird von Arrays gesichert, aber einer hat einen kleinen Vorteil gegenüber einem anderen hauptsächlich in Bezug auf die CPU -Zeit und die Speicherverwendung. Nehmen wir an, wenn Sie die Größe des Arrays kennen, werden Sie wahrscheinlich mit der ArrayList gehen. Das Iterieren über ein Array ist jedoch etwas schneller als die Iterie über eine Arrayliste. Wenn das Programm eine große Anzahl von Primitiven umfasst, funktioniert ein Array sowohl in Bezug auf Zeit als auch Speicher erheblich besser als die ArrayList. Arrays sind eine Programmiersprache auf niedriger Ebene, die in Sammlungsimplementierungen verwendet werden kann. Die Leistung kann jedoch je nach dem von Ihnen durchgeführten Betrieb variieren.

Array vs. Anordnungsliste

Array Anordnungsliste
Array ist eine Datenstruktur mit fester Länge, deren Länge nicht geändert werden kann, sobald das Array -Objekt erstellt wurde. ArrayList ist dynamisch von Natur.
Die Größe eines Arrays bleibt während des gesamten Programms statisch. Die Größe einer ArrayList kann je nach Last und Kapazität dynamisch wachsen.
Es verwendet Zuweisungsbetreiber, um Elemente zu speichern. Es verwendet das Attribut add (), um Elemente einzufügen.
Es kann Primitive sowie Objekte desselben oder unterschiedlichen Datentyps enthalten. Primitive sind in ArrayList nicht erlaubt. Es kann nur Objekttypen enthalten.
Arrays und Generika gehen nicht Hand in Hand. Generika sind in ArrayList erlaubt.
Arrays können mehrdimensional sein. ArrayList ist eindimensional.
Es ist eine native Programmierkomponente, in der die Elemente an zusammenhängenden Speicherorten gespeichert werden. Es ist eine Klasse aus dem Sammlungsrahmen von Java, in dem die Objekte niemals an zusammenhängenden Stellen gespeichert werden.
Länge Variable wird verwendet, um die Länge des Arrays zu bestimmen. Size () -Methode wird verwendet, um die Größe der ArrayList zu bestimmen.
Nimmt weniger Speicher als ArrayList, um bestimmte Elemente oder Objekte zu speichern. Nimmt mehr Speicher als das Array, um Objekte zu speichern.
Das Iterieren über ein Array ist schneller als die Iterie über eine Arraylist. Das Iterieren über eine ArrayList ist in Bezug auf die Leistung deutlich langsamer.

Zusammenfassung

Während einige vielleicht der Meinung sind, dass das Implementieren von Arrays in einem Programm schneller Ergebnisse erzielen kann als mit Arraylisten, aus dem einfachen Grund, dass Arrays eine Datenstruktur auf niedriger Ebene sind, kann die Leistung je nach den Vorgängen variieren. Nun, die Länge eines Arrays ist festgelegt, während die Größe der ArrayList dynamisch erhöht oder verringert werden kann, so. Trotz der Unterschiede haben sie auch einige Ähnlichkeiten. Beide sind indexbasierte Datenstrukturen in Java, mit denen Sie Objekte speichern können, und beide ermöglichen sowohl Nullwerte als auch Duplikate. Wenn Sie die Größe der Objekte im Voraus kennen, sollten Sie mit einem Array gehen und wenn Sie sich nicht über die Größe sicher sind, gehen Sie mit der Arraylist.