ArrayList Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Implementeert de interface met behulp van een matrix waarvan de IList grootte naar behoefte dynamisch wordt verhoogd.
public ref class ArrayList : System::Collections::IList
public ref class ArrayList : ICloneable, System::Collections::IList
public class ArrayList : 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
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
[<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
type ArrayList = class
interface ICollection
interface IEnumerable
interface IList
interface ICloneable
Public Class ArrayList
Implements IList
Public Class ArrayList
Implements ICloneable, IList
- Overname
-
ArrayList
- Afgeleid
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u hoe u een ArrayList waarde maakt en initialiseert en hoe u de waarden weergeeft.
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 !
Opmerkingen
Important
We raden u niet aan om de ArrayList klasse te gebruiken voor nieuwe ontwikkeling. In plaats daarvan raden we u aan de algemene List<T> klasse te gebruiken.
De ArrayList klasse is ontworpen voor heterogene verzamelingen objecten. Het biedt echter niet altijd de beste prestaties. In plaats daarvan raden we het volgende aan:
- Gebruik voor een heterogene verzameling objecten het type
List<Object>(in C#) ofList(Of Object)(in Visual Basic). - Gebruik de List<T> klasse voor een homogene verzameling objecten. Zie Prestatieoverwegingen in het List<T> naslagonderwerp voor een bespreking van de relatieve prestaties van deze klassen. Zie Aangenaamde verzamelingen niet mogen worden gebruikt op GitHub voor algemene informatie over het gebruik van algemene verzamelingen in plaats van niet-generieke verzamelingstypen.
De ArrayList is niet gegarandeerd gesorteerd. U moet de methode sorteren door de SortArrayList methode aan te roepen voordat u bewerkingen uitvoert (zoals BinarySearch) waarvoor het moet ArrayList worden gesorteerd. Als u een verzameling wilt onderhouden die automatisch wordt gesorteerd wanneer nieuwe elementen worden toegevoegd, kunt u de SortedSet<T> klasse gebruiken.
De capaciteit van een ArrayList is het aantal elementen dat de ArrayList kan bevatten. Wanneer elementen aan een ArrayListworden toegevoegd, wordt de capaciteit automatisch verhoogd als vereist via herlocatie. De capaciteit kan worden verlaagd door aan te roepen TrimToSize of door de Capacity eigenschap expliciet in te stellen.
.NET Framework alleen: Voor zeer grote ArrayList-objecten kunt u de maximale capaciteit verhogen tot 2 miljard elementen op een 64-bits systeem door het kenmerk enabled van het <gcAllowVeryLargeObjects>-configuratie-element in te stellen op true in de runtimeomgeving.
Elementen in deze verzameling kunnen worden benaderd met behulp van een integer-index. Indexen in deze verzameling zijn gebaseerd op nul.
De ArrayList verzameling accepteert null als een geldige waarde. Het staat ook dubbele elementen toe.
Het gebruik van multidimensionale matrices als elementen in een ArrayList verzameling wordt niet ondersteund.
Constructors
| Name | Description |
|---|---|
| ArrayList() |
Initialiseert een nieuw exemplaar van de ArrayList klasse die leeg is en heeft de standaardinitiële capaciteit. |
| ArrayList(ICollection) |
Initialiseert een nieuw exemplaar van de ArrayList klasse die elementen bevat die zijn gekopieerd uit de opgegeven verzameling en die dezelfde initiële capaciteit heeft als het aantal gekopieerde elementen. |
| ArrayList(Int32) |
Initialiseert een nieuw exemplaar van de ArrayList klasse die leeg is en heeft de opgegeven initiële capaciteit. |
Eigenschappen
| Name | Description |
|---|---|
| Capacity |
Hiermee haalt u het aantal elementen op of ArrayList stelt u dit in. |
| Count |
Hiermee haalt u het aantal elementen op dat daadwerkelijk is opgenomen in de ArrayList. |
| IsFixedSize |
Hiermee wordt een waarde opgehaald die aangeeft of de grootte van een ArrayList vaste grootte is. |
| IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of het ArrayList kenmerk Alleen-lezen is. |
| IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de ArrayList synchronisatie is gesynchroniseerd (thread safe). |
| Item[Int32] |
Hiermee haalt u het element op de opgegeven index op of stelt u het in. |
| SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het ArrayListobject te synchroniseren. |
Methoden
| Name | Description |
|---|---|
| Adapter(IList) |
Hiermee maakt u een ArrayList wrapper voor een specifieke IList. |
| Add(Object) |
Hiermee voegt u een object toe aan het einde van de ArrayList. |
| AddRange(ICollection) |
Voegt de elementen van een ICollection aan het einde van de ArrayList. |
| BinarySearch(Int32, Int32, Object, IComparer) |
Zoekt in een bereik van elementen in de gesorteerde ArrayList op een element met behulp van de opgegeven vergelijkingsfunctie en retourneert de op nul gebaseerde index van het element. |
| BinarySearch(Object, IComparer) |
Hiermee wordt gezocht naar het hele element dat is gesorteerd ArrayList op basis van de opgegeven vergelijkingsfunctie en wordt de op nul gebaseerde index van het element geretourneerd. |
| BinarySearch(Object) |
Hiermee wordt gezocht naar het hele element dat is gesorteerd ArrayList op een element met behulp van de standaardvergelijker en wordt de op nul gebaseerde index van het element geretourneerd. |
| Clear() |
Hiermee verwijdert u alle elementen uit de ArrayList. |
| Clone() |
Maakt een ondiepe kopie van de ArrayList. |
| Contains(Object) |
Bepaalt of een element zich in de ArrayList. |
| CopyTo(Array, Int32) |
Kopieert het hele ArrayList naar een compatibele eendimensionale Arraywaarde, beginnend bij de opgegeven index van de doelmatrix. |
| CopyTo(Array) |
Hiermee kopieert u het hele ArrayList naar een compatibele eendimensionale Arraywaarde, te beginnen bij het begin van de doelmatrix. |
| CopyTo(Int32, Array, Int32, Int32) |
Kopieert een bereik van elementen van de ArrayList naar een compatibele eendimensionale Array, beginnend bij de opgegeven index van de doelmatrix. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FixedSize(ArrayList) |
Retourneert een ArrayList wrapper met een vaste grootte. |
| FixedSize(IList) |
Retourneert een IList wrapper met een vaste grootte. |
| GetEnumerator() |
Retourneert een enumerator voor het hele ArrayList. |
| GetEnumerator(Int32, Int32) |
Retourneert een enumerator voor een reeks elementen in de ArrayList. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetRange(Int32, Int32) |
Retourneert een ArrayList die een subset van de elementen in de bron ArrayListvertegenwoordigt. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IndexOf(Object, Int32, Int32) |
Zoekt naar de opgegeven Object en retourneert de op nul gebaseerde index van het eerste exemplaar binnen het bereik van elementen in de ArrayList opgegeven index en bevat het opgegeven aantal elementen. |
| IndexOf(Object, Int32) |
Zoekt naar de opgegeven Object en retourneert de op nul gebaseerde index van het eerste exemplaar binnen het bereik van elementen in de ArrayList opgegeven index tot het laatste element. |
| IndexOf(Object) |
Zoekt naar de opgegeven Object en retourneert de op nul gebaseerde index van het eerste exemplaar binnen het hele ArrayListexemplaar. |
| Insert(Int32, Object) |
Hiermee voegt u een element in de ArrayList opgegeven index in. |
| InsertRange(Int32, ICollection) |
Hiermee voegt u de elementen van een verzameling in de ArrayList opgegeven index in. |
| LastIndexOf(Object, Int32, Int32) |
Zoekt naar de opgegeven Object en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het bereik van elementen in het ArrayList opgegeven aantal elementen en eindigt op de opgegeven index. |
| LastIndexOf(Object, Int32) |
Zoekt naar de opgegeven Object en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het bereik van elementen in de ArrayList die zich uitbreidt van het eerste element naar de opgegeven index. |
| LastIndexOf(Object) |
Zoekt naar de opgegeven Object en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het hele ArrayListexemplaar. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ReadOnly(ArrayList) |
Retourneert een alleen-lezen ArrayList wrapper. |
| ReadOnly(IList) |
Retourneert een alleen-lezen IList wrapper. |
| Remove(Object) |
Hiermee verwijdert u het eerste exemplaar van een specifiek object uit de ArrayList. |
| RemoveAt(Int32) |
Hiermee verwijdert u het element op de opgegeven index van de ArrayList. |
| RemoveRange(Int32, Int32) |
Hiermee verwijdert u een reeks elementen uit de ArrayList. |
| Repeat(Object, Int32) |
Retourneert een ArrayList waarvan de elementen kopieën zijn van de opgegeven waarde. |
| Reverse() |
Hiermee wordt de volgorde van de elementen in het gehele ArrayListelement omgekeerd. |
| Reverse(Int32, Int32) |
Hiermee wordt de volgorde van de elementen in het opgegeven bereik omgekeerd. |
| SetRange(Int32, ICollection) |
Kopieert de elementen van een verzameling over een reeks elementen in de ArrayList. |
| Sort() |
Hiermee sorteert u de elementen in het hele ArrayList. |
| Sort(IComparer) |
Hiermee sorteert u de elementen in het geheel ArrayList met behulp van de opgegeven vergelijkingsfunctie. |
| Sort(Int32, Int32, IComparer) |
Hiermee sorteert u de elementen in een reeks elementen in ArrayList het gebruik van de opgegeven vergelijkingsfunctie. |
| Synchronized(ArrayList) |
Retourneert een ArrayList wrapper die wordt gesynchroniseerd (thread safe). |
| Synchronized(IList) |
Retourneert een IList wrapper die wordt gesynchroniseerd (thread safe). |
| ToArray() |
Kopieert de elementen van de ArrayList naar een nieuwe Object matrix. |
| ToArray(Type) |
Kopieert de elementen van de ArrayList naar een nieuwe matrix van het opgegeven elementtype. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| TrimToSize() |
Hiermee stelt u de capaciteit in op het werkelijke aantal elementen in de ArrayList. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |
Van toepassing op
Veiligheid thread
Openbare statische (Shared in Visual Basic) leden van dit type zijn thread-veilig. Exemplaarleden zijn niet gegarandeerd thread-safe.
Een ArrayList kan meerdere lezers tegelijk ondersteunen, zolang de verzameling niet wordt gewijzigd. Om de veiligheid van de ArrayListdraad te garanderen, moeten alle bewerkingen worden uitgevoerd via de wrapper die door de Synchronized(IList) methode wordt geretourneerd.
Het inventariseren via een verzameling is intrinsiek geen thread-veilige procedure. Zelfs wanneer een verzameling wordt gesynchroniseerd, kunnen andere threads de verzameling nog steeds wijzigen, waardoor de enumerator een uitzondering genereert. Om de veiligheid van threads tijdens de inventarisatie te garanderen, kunt u de verzameling vergrendelen tijdens de volledige inventarisatie of de uitzonderingen ondervangen die het gevolg zijn van wijzigingen die door andere threads zijn aangebracht.