ArrayList Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az illesztőt IList egy olyan tömb használatával valósítja meg, amelynek mérete igény szerint dinamikusan növekszik.
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
- Öröklődés
-
ArrayList
- Származtatott
- Attribútumok
- Megvalósítás
Példák
Az alábbi példa bemutatja, hogyan hozhat létre és inicializálhat egy objektumot ArrayList , és hogyan jelenítheti meg az értékeit.
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 !
Megjegyzések
Important
Nem javasoljuk, hogy az osztályt ArrayList új fejlesztéshez használja. Ehelyett azt javasoljuk, hogy az általános List<T> osztályt használja.
Az ArrayList osztály célja, hogy heterogén objektumgyűjteményeket tároljon. Azonban nem mindig nyújt a legjobb teljesítményt. Ehelyett a következőket javasoljuk:
- Heterogén objektumgyűjtemény esetén használja a
List<Object>(C#-ban) vagyList(Of Object)(Visual Basic) típust. - Az objektumok homogén gyűjteményéhez használja az osztályt List<T> . Az osztályok relatív teljesítményével kapcsolatos vitafórumot a referenciatéma List<T> című témakörben tekinti meg. A Nem általános gyűjtemények nem használhatók a GitHub a nem általános gyűjteménytípusok helyett a generikus gyűjtemények használatáról.
A ArrayList nincs garantálva, hogy rendezett legyen. A rendezést úgy kell elvégeznie, hogy meghívja annak ArrayList metódusát Sort a rendezést igénylő BinarySearch műveletek (például ArrayList) végrehajtása előtt. Az új elemek hozzáadásakor automatikusan rendezett gyűjtemény fenntartásához használhatja az osztályt SortedSet<T> .
Egy adott ArrayList elem kapacitása a visszatartható elemek ArrayList száma. Az elemek egy ArrayListadott elemhez való hozzáadásakor a kapacitás a szükséges módon automatikusan növekszik az újraelosztással. A kapacitás csökkenthető hívással TrimToSize vagy a Capacity tulajdonság explicit beállításával.
csak
A gyűjtemény elemei egész számindex használatával érhetők el. A gyűjtemény indexei nulla alapúak.
A ArrayList gyűjtemény érvényes értékként fogad el null . Az ismétlődő elemeket is lehetővé teszi.
A gyűjtemény elemeiként ArrayList többdimenziós tömbök használata nem támogatott.
Konstruktorok
| Name | Description |
|---|---|
| ArrayList() |
Inicializálja az ArrayList üres osztály új példányát, és az alapértelmezett kezdeti kapacitással rendelkezik. |
| ArrayList(ICollection) |
Inicializálja az ArrayList osztály új példányát, amely a megadott gyűjteményből másolt elemeket tartalmaz, és amelynek kezdeti kapacitása megegyezik a másolt elemek számával. |
| ArrayList(Int32) |
Inicializálja az ArrayList üres és a megadott kezdeti kapacitással rendelkező osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| Capacity |
Lekéri vagy beállítja a tartalmazható elemek ArrayList számát. |
| Count |
Lekéri a ténylegesen tartalmazott elemek számát a ArrayList. |
| IsFixedSize |
Egy értéket kap, amely jelzi, hogy a ArrayList méret rögzített-e. |
| IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az ArrayList írásvédett-e. |
| IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a ArrayList hozzáférés szinkronizálva van-e (a szál biztonságos). |
| Item[Int32] |
Lekéri vagy beállítja az elemet a megadott indexen. |
| SyncRoot |
Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.ArrayList |
Metódusok
| Name | Description |
|---|---|
| Adapter(IList) | |
| Add(Object) |
Objektumot ad hozzá a ArrayListvégéhez. |
| AddRange(ICollection) |
Hozzáadja egy elem elemeit ICollection a ArrayListvégéhez. |
| BinarySearch(Int32, Int32, Object, IComparer) |
A megadott összehasonlító használatával keres egy elem sorba rendezett ArrayList elemtartományát, és visszaadja az elem nulla alapú indexét. |
| BinarySearch(Object, IComparer) |
A megadott összehasonlító használatával a teljes rendezésben ArrayList keres egy elemet, és visszaadja az elem nulla alapú indexét. |
| BinarySearch(Object) |
Az elem teljes rendezése ArrayList az alapértelmezett összehasonlító használatával történik, és az elem nulla alapú indexét adja vissza. |
| Clear() |
Eltávolítja az összes elemet a ArrayList. |
| Clone() |
Létrehoz egy sekély másolatot a ArrayList. |
| Contains(Object) |
Meghatározza, hogy egy elem szerepel-e a ArrayList. |
| CopyTo(Array, Int32) |
A teljes ArrayList példányt egy kompatibilis egydimenziósra Arraymásolja a céltömb megadott indexétől kezdve. |
| CopyTo(Array) |
A teljes ArrayList példányt egy kompatibilis egydimenziósra Arraymásolja a céltömb elejétől kezdve. |
| CopyTo(Int32, Array, Int32, Int32) |
Az elemek ArrayList tartományát a céltömb megadott indexétől kezdve egy kompatibilis egydimenziósra Arraymásolja. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| FixedSize(ArrayList) |
Rögzített méretű burkolót ad ArrayList vissza. |
| FixedSize(IList) |
Rögzített méretű burkolót ad IList vissza. |
| GetEnumerator() |
A teljes ArrayListenumerátort adja eredményül. |
| GetEnumerator(Int32, Int32) |
Enumerátort ad vissza a ArrayList. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetRange(Int32, Int32) |
Olyan értéket ArrayList ad vissza, amely a forrás ArrayListelemeinek egy részét jelöli. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IndexOf(Object, Int32, Int32) |
Megkeresi a megadott Object értéket, és visszaadja az első előfordulás nullaalapú indexét a megadott indexnél kezdődő elemek ArrayList tartományán belül, és a megadott számú elemet tartalmazza. |
| IndexOf(Object, Int32) |
Megkeresi a megadott Object értéket, és az első előfordulás nulla alapú indexét adja vissza a megadott indextől az utolsó elemig terjedő elemek tartományán ArrayList belül. |
| IndexOf(Object) |
Megkeresi a megadott Object értéket, és a teljes első ArrayListelőfordulás nulla alapú indexét adja vissza. |
| Insert(Int32, Object) |
Elemet szúr be a ArrayList megadott indexbe. |
| InsertRange(Int32, ICollection) |
Beszúrja a gyűjtemény elemeit a ArrayList megadott indexbe. |
| LastIndexOf(Object, Int32, Int32) |
Megkeresi a megadott Object értéket, és visszaadja az utolsó előfordulás nulla alapú indexét azon elemek tartományán belül, amelyek a ArrayList megadott számú elemet tartalmazzák, és a megadott indexben végződnek. |
| LastIndexOf(Object, Int32) |
Megkeresi a megadott Object értéket, és visszaadja az utolsó előfordulás nullaalapú indexét az elemek tartományán belül, amely az ArrayList első elemtől a megadott indexig terjed. |
| LastIndexOf(Object) |
Megkeresi a megadott Object értéket, és a teljes utolsó ArrayListelőfordulás nulla alapú indexét adja vissza. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ReadOnly(ArrayList) |
Írásvédett ArrayList burkolót ad vissza. |
| ReadOnly(IList) |
Írásvédett IList burkolót ad vissza. |
| Remove(Object) |
Eltávolítja egy adott objektum első előfordulását a ArrayList. |
| RemoveAt(Int32) |
Eltávolítja az elemet a megadott indexben.ArrayList |
| RemoveRange(Int32, Int32) |
Eltávolít egy elemtartományt a ArrayList. |
| Repeat(Object, Int32) |
Egy olyan értéket ad ArrayList vissza, amelynek elemei a megadott érték másolatai. |
| Reverse() |
Az elemek sorrendjének megfordítása az egészben ArrayList. |
| Reverse(Int32, Int32) |
Megfordítja a megadott tartomány elemeinek sorrendjét. |
| SetRange(Int32, ICollection) |
A gyűjtemény elemeit a gyűjtemény elemeinek egy tartományán átmásolja a ArrayList. |
| Sort() |
Rendezi az elemeket az egészben ArrayList. |
| Sort(IComparer) |
A megadott összehasonlító használatával rendezi az elemeket az egészben ArrayList . |
| Sort(Int32, Int32, IComparer) |
Rendezi az elemeket egy elemtartományban ArrayList a megadott összehasonlító használatával. |
| Synchronized(ArrayList) |
Szinkronizált ArrayList burkolót ad vissza (szálbiztos). |
| Synchronized(IList) |
Szinkronizált IList burkolót ad vissza (szálbiztos). |
| ToArray() | |
| ToArray(Type) |
A megadott elemtípus egy új tömbjének ArrayList elemeit másolja át. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| TrimToSize() |
A kapacitást a tényleges számú elemre állítja be a ArrayList. |
Bővítő metódusok
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Lehetővé teszi a lekérdezés párhuzamosítását. |
| AsQueryable(IEnumerable) |
Átalakítja az egyiket IEnumerableIQueryable. |
| Cast<TResult>(IEnumerable) |
Egy elem elemeit IEnumerable a megadott típusra veti. |
| OfType<TResult>(IEnumerable) |
Egy adott típus alapján szűri IEnumerable egy adott elem elemeit. |
A következőre érvényes:
Szálbiztonság
A nyilvános statikus (Shared Visual Basic) ilyen típusú tagjai szálbiztosak. A példánytagok nem garantáltan szálbiztosak.
A ArrayList gyűjtemény egyidejűleg több olvasót is támogathat, feltéve, hogy a gyűjtemény nem módosul. A menetbiztonság garantálása ArrayListérdekében minden műveletet a metódus által Synchronized(IList) visszaadott burkolón keresztül kell elvégezni.
A gyűjteményen keresztüli számbavétel alapvetően nem szálbiztos eljárás. A gyűjtemény szinkronizálása esetén is más szálak módosíthatják a gyűjteményt, ami miatt az enumerátor kivételt okoz. Az enumerálás során a szálbiztonság garantálása érdekében zárolhatja a gyűjteményt a teljes enumerálás során, vagy elkaphatja a más szálak által végrehajtott módosításokból eredő kivételeket.