ArrayList Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementiert die IList Schnittstelle mithilfe eines Arrays, dessen Größe bei Bedarf dynamisch erhöht wird.
public ref class ArrayList : System::Collections::IList
public ref class ArrayList : ICloneable, System::Collections::IList
public class ArrayList : System.Collections.IList
public class ArrayList : ICloneable, System.Collections.IList
[System.Serializable]
public class ArrayList : ICloneable, System.Collections.IList
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
type ArrayList = class
interface ICollection
interface IEnumerable
interface IList
interface ICloneable
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
interface ICloneable
[<System.Serializable>]
type ArrayList = class
interface IList
interface ICollection
interface IEnumerable
interface ICloneable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArrayList = class
interface IList
interface ICollection
interface IEnumerable
interface ICloneable
Public Class ArrayList
Implements IList
Public Class ArrayList
Implements ICloneable, IList
- Vererbung
-
ArrayList
- Abgeleitet
- Attribute
- Implementiert
Beispiele
Das folgende Beispiel zeigt, wie Sie eine ArrayList und ihre Werte erstellen und initialisieren.
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
myAL.Add("Hello");
myAL.Add("World");
myAL.Add("!");
// Displays the properties and values of the ArrayList.
Console.WriteLine( "myAL" );
Console.WriteLine( " Count: {0}", myAL.Count );
Console.WriteLine( " Capacity: {0}", myAL.Capacity );
Console.Write( " Values:" );
PrintValues( myAL );
}
public static void PrintValues( IEnumerable myList ) {
foreach ( Object obj in myList )
Console.Write( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces output similar to the following:
myAL
Count: 3
Capacity: 4
Values: Hello World !
*/
Imports System.Collections
Public Class SamplesArrayList
Public Shared Sub Main()
' Creates and initializes a new ArrayList.
Dim myAL As New ArrayList()
myAL.Add("Hello")
myAL.Add("World")
myAL.Add("!")
' Displays the properties and values of the ArrayList.
Console.WriteLine("myAL")
Console.WriteLine(" Count: {0}", myAL.Count)
Console.WriteLine(" Capacity: {0}", myAL.Capacity)
Console.Write(" Values:")
PrintValues(myAL)
End Sub
Public Shared Sub PrintValues(myList As IEnumerable)
Dim obj As [Object]
For Each obj In myList
Console.Write(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces output similar to the following:
'
' myAL
' Count: 3
' Capacity: 4
' Values: Hello World !
Hinweise
Von Bedeutung
Es wird nicht empfohlen, die ArrayList Klasse für die neue Entwicklung zu verwenden. Stattdessen wird empfohlen, die generische List<T> Klasse zu verwenden.
Die ArrayList Klasse soll heterogene Auflistungen von Objekten enthalten. Es bietet jedoch nicht immer die beste Leistung. Stattdessen empfehlen wir Folgendes:
- Verwenden Sie für eine heterogene Auflistung von Objekten den
List<Object>Typ (in C#) oderList(Of Object)(in Visual Basic). - Verwenden Sie für eine homogene Auflistung von Objekten die List<T> Klasse. Eine Erläuterung der relativen Leistung dieser Klassen finden Sie unter Leistungsüberlegungen im List<T> Referenzthema. Allgemeine Informationen zur Verwendung von generischen Auflistungen anstelle von nicht generischen Sammlungstypen sollten auf GitHub nicht verwendet werden.
Es ist nicht garantiert, dass ArrayList sortiert ist. Sie müssen die ArrayList Methode sortieren, indem Sie die Sort Methode vor dem Ausführen von Vorgängen (z BinarySearch. B. ) aufrufen, die die ArrayList Sortierung erfordern. Um eine Auflistung beizubehalten, die automatisch nach neuen Elementen sortiert wird, können Sie die SortedSet<T> Klasse verwenden.
Die Kapazität eines Elements ArrayList ist die Anzahl der Elemente, die aufbewahrt ArrayList werden können. Wenn Elemente zu einem ArrayListElement hinzugefügt werden, wird die Kapazität bei Bedarf durch Umschichtung automatisch erhöht. Die Kapazität kann durch Aufrufen TrimToSize oder explizites Festlegen der Capacity Eigenschaft verringert werden.
Nur .NET Framework: Bei sehr großen ArrayList Objekten können Sie die maximale Kapazität auf 2 Milliarden Elemente auf einem 64-Bit-System erhöhen, indem Sie das enabled Attribut des <gcAllowVeryLargeObjects> Konfigurationselements true in der Laufzeitumgebung festlegen.
Auf Elemente in dieser Auflistung kann mithilfe eines ganzzahligen Index zugegriffen werden. Indizes in dieser Auflistung sind nullbasiert.
Die ArrayList Auflistung akzeptiert null als gültigen Wert. Es ermöglicht auch doppelte Elemente.
Die Verwendung von mehrdimensionalen Arrays als Elemente in einer ArrayList Auflistung wird nicht unterstützt.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ArrayList() |
Initialisiert eine neue Instanz der Klasse, die ArrayList leer ist und über die Standardkapazität verfügt. |
| ArrayList(ICollection) |
Initialisiert eine neue Instanz der ArrayList Klasse, die Elemente enthält, die aus der angegebenen Auflistung kopiert wurden und die gleiche Anfangskapazität wie die Anzahl der kopierten Elemente aufweist. |
| ArrayList(Int32) |
Initialisiert eine neue Instanz der Klasse, die ArrayList leer ist und über die angegebene Anfangskapazität verfügt. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Capacity |
Ruft die Anzahl der Elemente ab, die dies enthalten kann, oder legt diese ArrayList fest. |
| Count |
Ruft die Anzahl der Elemente ab, die tatsächlich in der ArrayList. |
| IsFixedSize |
Ruft einen Wert ab, der angibt, ob die ArrayList Größe fest ist. |
| IsReadOnly |
Ruft einen Wert ab, der angibt, ob dies ArrayList schreibgeschützt ist. |
| IsSynchronized |
Ruft einen Wert ab, der angibt, ob der Zugriff auf die ArrayList Synchronisierung (Threadsicher) erfolgt. |
| Item[Int32] |
Ruft das Element am angegebenen Index ab oder legt es fest. |
| SyncRoot |
Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die ArrayListverwendet werden kann. |
Methoden
| Name | Beschreibung |
|---|---|
| Adapter(IList) |
Erstellt einen ArrayList Wrapper für einen bestimmten IList. |
| Add(Object) |
Fügt ein Objekt am Ende der .ArrayList |
| AddRange(ICollection) |
Fügt die Elemente einer ICollection am Ende der .ArrayList |
| BinarySearch(Int32, Int32, Object, IComparer) |
Durchsucht einen Bereich von Elementen in der Sortierung ArrayList nach einem Element mithilfe des angegebenen Vergleichs und gibt den nullbasierten Index des Elements zurück. |
| BinarySearch(Object, IComparer) |
Durchsucht die gesamte Sortierung ArrayList nach einem Element mithilfe des angegebenen Vergleichs und gibt den nullbasierten Index des Elements zurück. |
| BinarySearch(Object) |
Durchsucht die gesamte Sortierung ArrayList nach einem Element mithilfe des Standardvergleichs und gibt den nullbasierten Index des Elements zurück. |
| Clear() |
Entfernt alle Elemente aus dem ArrayList. |
| Clone() |
Erstellt eine flache Kopie der .ArrayList |
| Contains(Object) |
Bestimmt, ob sich ein Element in der ArrayList. |
| CopyTo(Array, Int32) |
Kopiert das Gesamte ArrayList in einen kompatiblen eindimensionalen Array, beginnend am angegebenen Index des Zielarrays. |
| CopyTo(Array) |
Kopiert das Gesamte ArrayList in ein kompatibles eindimensionales Array, beginnend am Anfang des Zielarrays. |
| CopyTo(Int32, Array, Int32, Int32) |
Kopiert einen Bereich von Elementen von der ArrayList zu einem kompatiblen eindimensionalen ArrayElement, beginnend mit dem angegebenen Index des Zielarrays. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| FixedSize(ArrayList) |
Gibt einen ArrayList Wrapper mit fester Größe zurück. |
| FixedSize(IList) |
Gibt einen IList Wrapper mit fester Größe zurück. |
| GetEnumerator() |
Gibt einen Enumerator für den gesamten ArrayListWert zurück. |
| GetEnumerator(Int32, Int32) |
Gibt einen Enumerator für einen Bereich von Elementen in der ArrayList. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetRange(Int32, Int32) |
Gibt einen ArrayList Wert zurück, der eine Teilmenge der Elemente in der Quelle ArrayListdarstellt. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IndexOf(Object, Int32, Int32) |
Sucht nach dem angegebenen Und Object gibt den nullbasierten Index des ersten Vorkommens innerhalb des Elementbereichs zurück ArrayList , der am angegebenen Index beginnt und die angegebene Anzahl von Elementen enthält. |
| IndexOf(Object, Int32) |
Sucht nach dem angegebenen Object Und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs der Elemente in der, die ArrayList sich vom angegebenen Index bis zum letzten Element erstreckt. |
| IndexOf(Object) |
Sucht nach dem angegebenen Object Und gibt den nullbasierten Index des ersten Vorkommens innerhalb des gesamten ArrayListzurück. |
| Insert(Int32, Object) |
Fügt ein Element in den ArrayList angegebenen Index ein. |
| InsertRange(Int32, ICollection) |
Fügt die Elemente einer Auflistung in den ArrayList angegebenen Index ein. |
| LastIndexOf(Object, Int32, Int32) |
Sucht nach dem angegebenen Und Object gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs der Elemente in der ArrayList angegebenen Anzahl von Elementen zurück und endet am angegebenen Index. |
| LastIndexOf(Object, Int32) |
Sucht nach dem angegebenen Element Object und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs der Elemente zurück, der ArrayList sich vom ersten Element bis zum angegebenen Index erstreckt. |
| LastIndexOf(Object) |
Sucht nach dem angegebenen Und Object gibt den nullbasierten Index des letzten Vorkommens innerhalb des gesamten ArrayListzurück. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ReadOnly(ArrayList) |
Gibt einen schreibgeschützten ArrayList Wrapper zurück. |
| ReadOnly(IList) |
Gibt einen schreibgeschützten IList Wrapper zurück. |
| Remove(Object) |
Entfernt das erste Vorkommen eines bestimmten Objekts aus dem ArrayList. |
| RemoveAt(Int32) |
Entfernt das Element am angegebenen Index der ArrayList. |
| RemoveRange(Int32, Int32) |
Entfernt einen Bereich von Elementen aus dem ArrayList. |
| Repeat(Object, Int32) |
Gibt einen ArrayList Wert zurück, dessen Elemente Kopien des angegebenen Werts sind. |
| Reverse() |
Umkehrt die Reihenfolge der Elemente in der gesamten ArrayList. |
| Reverse(Int32, Int32) |
Umkehrt die Reihenfolge der Elemente im angegebenen Bereich. |
| SetRange(Int32, ICollection) |
Kopiert die Elemente einer Auflistung über einen Bereich von Elementen in der ArrayList. |
| Sort() |
Sortiert die Elemente im gesamten ArrayList. |
| Sort(IComparer) |
Sortiert die Elemente im gesamten ArrayList Element mithilfe des angegebenen Vergleichs. |
| Sort(Int32, Int32, IComparer) |
Sortiert die Elemente in einem Bereich von Elementen mithilfe ArrayList des angegebenen Vergleichs. |
| Synchronized(ArrayList) |
Gibt einen ArrayList Wrapper zurück, der synchronisiert wird (threadsicher). |
| Synchronized(IList) |
Gibt einen IList Wrapper zurück, der synchronisiert wird (threadsicher). |
| ToArray() |
Kopiert die Elemente des Elements in ArrayList ein neues Object Array. |
| ToArray(Type) |
Kopiert die Elemente des ArrayList Elements in ein neues Array des angegebenen Elementtyps. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| TrimToSize() |
Legt die Kapazität auf die tatsächliche Anzahl der Elemente in der ArrayList. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| AsParallel(IEnumerable) |
Aktiviert die Parallelisierung einer Abfrage. |
| AsQueryable(IEnumerable) |
Wandelt eine IEnumerable in eine IQueryableum. |
| Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um. |
| OfType<TResult>(IEnumerable) |
Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ. |
Gilt für:
Threadsicherheit
Öffentliche statische Elemente (Shared in Visual Basic) dieses Typs sind threadsicher. Instanzenmitglieder sind nicht garantiert threadsicher.
Eine ArrayList kann mehrere Leser gleichzeitig unterstützen, solange die Sammlung nicht geändert wird. Um die Threadsicherheit des Threads ArrayListzu gewährleisten, müssen alle Vorgänge über den wrapper erfolgen, der von der Synchronized(IList) Methode zurückgegeben wird.
Das Aufzählen durch eine Sammlung ist in erster Linie keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, können andere Threads die Auflistung weiterhin ändern, wodurch der Enumerator eine Ausnahme auslöst. Um die Threadsicherheit während der Enumeration zu gewährleisten, können Sie die Auflistung entweder während der gesamten Enumeration sperren oder die Ausnahmen erfassen, die sich aus Änderungen ergeben, die von anderen Threads vorgenommen wurden.