logo

Unterschied zwischen Array und ArrayList

In Java, Array Und Anordnungsliste sind die bekannten Datenstrukturen. Ein Array ist eine von Java bereitgestellte Grundfunktionalität Anordnungsliste ist eine Klasse des Java Collections-Frameworks. Es gehört java.util Paket.

Java-Array

Ein Array ist ein dynamisch erstelltes Objekt. Es dient als Container, der eine konstante Anzahl von Werten desselben Typs enthält. Es verfügt über einen zusammenhängenden Speicherort. Sobald ein Array erstellt wurde, können wir seine Größe nicht mehr ändern. Mit der folgenden Anweisung können wir ein Array erstellen:

 int array[]=new int[size]; 

Die obige Anweisung erstellt ein Array der angegebenen Größe. Wenn wir versuchen, mehr als seine Größe hinzuzufügen, wird es geworfen ArrayIndexOutOfBoundsException . Zum Beispiel:

 int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; 

Java ArrayList-Klasse

In Java, Anordnungsliste ist eine Klasse des Collections-Frameworks. Es setzt um Liste, Sammlung, iterierbar, klonbar, serialisierbar , Und RandomAccess Schnittstellen. Es erstreckt sich AbstractList Klasse.

Mit der folgenden Anweisung können wir eine Instanz von ArrayList erstellen:

 ArrayList arrayList=new ArrayList(); 

ArrayList wird intern durch das Array in Java unterstützt. Der Größenänderungsvorgang in ArrayList verlangsamt die Leistung, da er ein neues Array und das Kopieren von Inhalten von einem alten Array in ein neues Array erfordert. Es ruft die nativ implementierte Methode auf System.arraycopy(sec, srcPos, dest, destPos, length) .

Wir können keinen primitiven Typ in ArrayList speichern. Es speichert also nur Objekte. Der primitive Typ wird automatisch in ein Objekt konvertiert. Zum Beispiel haben wir ein ArrayList-Objekt erstellt,

 ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList 

Die JVM wandelt es durch Auto-Boxing in ein Integer-Objekt um.

 ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object 

Ähnlichkeiten

  • Array und ArrayList werden beide zum Speichern von Elementen verwendet.
  • Sowohl Array als auch ArrayList können Nullwerte speichern.
  • Sie können doppelte Werte haben.
  • Sie bewahren die Reihenfolge der Elemente nicht.

In der folgenden Tabelle werden die wichtigsten Unterschiede zwischen Array und ArrayList beschrieben:

Basis Array Anordnungsliste
Definition Ein Array ist ein dynamisch erstelltes Objekt. Es dient als Container, der eine konstante Anzahl von Werten desselben Typs enthält. Es verfügt über einen zusammenhängenden Speicherort. Der Anordnungsliste ist eine Klasse von Java Sammlungen Rahmen. Es enthält beliebte Klassen wie Vektor, HashTable , Und HashMap .
Statisch/dynamisch Array ist statisch in Größe. ArrayList ist dynamisch in Größe.
Der Größe veränderbar Ein Array ist ein feste Länge Datenstruktur. ArrayList ist eine variable Länge Datenstruktur. Die Größe kann bei Bedarf selbst geändert werden.
Initialisierung Es ist zwingend erforderlich, die Größe eines Arrays anzugeben, wenn es direkt oder indirekt initialisiert wird. Wir können eine Instanz von ArrayList erstellen, ohne ihre Größe anzugeben. Java erstellt eine ArrayList mit der Standardgröße.
Leistung Es leistet schnell im Vergleich zu ArrayList wegen der festen Größe. ArrayList wird intern durch das Array in Java unterstützt. Der Größenänderungsvorgang in ArrayList verlangsamt die Leistung.
Primitiver/generischer Typ Ein Array kann beides speichern Objekte Und Primitiven Typ. Wir können nicht lagern Primitive Geben Sie ArrayList ein. Der primitive Typ wird automatisch in ein Objekt konvertiert.
Werte iterieren Wir gebrauchen für Schleife bzw für jede Schleife zum Durchlaufen eines Arrays. Wir verwenden ein Iterator um über ArrayList zu iterieren.
Typensicherheit Wir können keine Generika zusammen mit Arrays verwenden, da es sich nicht um einen konvertierbaren Array-Typ handelt. Mit ArrayList können wir nur speichern generisch/ Typ, deshalb ist es typsicher.
Länge Array bietet a Länge Variable, die die Länge eines Arrays angibt. ArrayList bietet die Größe() Methode zur Bestimmung der Größe von ArrayList.
Elemente hinzufügen Wir können Elemente in einem Array hinzufügen, indem wir die verwenden Abtretung Operator. Java bietet das hinzufügen() Methode zum Hinzufügen von Elementen zur ArrayList.
Ein-/mehrdimensional Array kann sein mehrdimensional . ArrayList ist immer eindimensional .

Beispiel eines Arrays in Java

Im folgenden Beispiel haben wir einfach ein Array der Länge vier erstellt.

 public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>

Beispiel für ArrayList in Java

Im folgenden Beispiel haben wir eine Instanz von ArrayList erstellt und eine Iteration über die ArrayList durchgeführt.

 import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } 

Ausgabe:

Array-Liste sortieren
 12.4 34.6 56.8 78.9