Array (ein System-Namespace) ist ein Datentyp, der durch Aufrufen von Indizes verwendet werden kann. Während der Laufzeit kann man die Größe des Arrays nicht wirklich ändern, es sei denn, man benutzt die Methode, das Array zu kopieren und das alte loszuwerden.
In Visual Studio verwendet Visual Studio eine spezielle Klasse zum Speichern der Daten. Aus diesem Grund ist die Leistung tatsächlich ziemlich schnell. Dies liegt auch daran, dass Sie in einem Array die Größe angeben müssen und somit die Daten nacheinander gespeichert werden.
Beispiele:
int[] myNumbers= new int[5];
myNumbers[0] = 16;
Arraylist (System.Collections Namensraum) ist ein Datentyp-Sammlung. Um eine ArrayList zu füllen, kann man die .Add-Methode verwenden. ArrayLists sind sehr dynamisch in dem Sinne, dass beim Hinzufügen und/oder Entfernen von Elementen die Performance gleich bleibt.
Die interne Struktur einer ArrayList ist ein Array.
Beispiele:
ArrayList myArray = new ArrayList();
myArray.Add(“Steph”);
string str = myArray[0];
Die meiste Zeit, neigen wir dazu, Array-Listen anstatt Arrays zu wählen, da wir keine Ahnung haben, wie groß es sich herausstellen wird. Arrays sind ideal, wenn Sie wissen, wie viele Artikel Sie hineinlegen werden. Wann immer es möglich ist, wird empfohlen, Arrays zu verwenden, da dies die Leistung drastisch verbessert.
Array sind Sequenzen von homogenen Daten, während ArrayList eine Sequenz heterogener Daten ist. Aus diesem Grund müssen wir alle Daten in ArrayLists schreiben.
Arrays sind mehrdimensional, aber ArrayList ist immer eindimensional.
Arrays sind stark typisiert und funktionieren gut als Parameter. Wenn Sie die Länge Ihrer Sammlung kennen und diese behoben ist, sollten Sie ein Array verwenden.
ArrayLists sind nicht stark typisiert, jede Insertion oder Retrial benötigt einen Cast, um zu Ihrem ursprünglichen Typ zurückzukehren. Wenn Sie eine Methode benötigen, um eine Liste eines bestimmten Typs zu erstellen, können ArrayLists nicht verwendet werden, da Sie eine ArrayList mit einem beliebigen Typ übergeben können. ArrayLists verwenden intern ein dynamisch expandierendes Array, so dass es auch einen Treffer gibt, um die Größe des internen Arrays zu erweitern, wenn es seine Kapazität erreicht.
@NikhilAgrawal kein Duplikat dieses Themas, da die Frage speziell Leistungsunterschiede betrifft, nicht Verwendungskontext. – Asik
Ich vermute, ArrayList wäre langsamer, da Sie jedes Element im Array beim Abrufen darstellen müssen. – Matthew