ArrayList.AddRange(ICollection) Metódus
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.
Hozzáadja egy elem elemeit ICollection a ArrayListvégéhez.
public:
virtual void AddRange(System::Collections::ICollection ^ c);
public virtual void AddRange(System.Collections.ICollection c);
abstract member AddRange : System.Collections.ICollection -> unit
override this.AddRange : System.Collections.ICollection -> unit
Public Overridable Sub AddRange (c As ICollection)
Paraméterek
Azok ICollection a elemek, amelyeknek az elemeit hozzá kell adni a ArrayList. Maga a gyűjtemény nem lehet null, de tartalmazhat olyan elemeket, amelyek a következők null.
Kivételek
c az null.
Példák
Az alábbi példakód bemutatja, hogyan adhat hozzá elemeket a ArrayList.
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
myAL.Add( "The" );
myAL.Add( "quick" );
myAL.Add( "brown" );
myAL.Add( "fox" );
// Creates and initializes a new Queue.
Queue myQueue = new Queue();
myQueue.Enqueue( "jumps" );
myQueue.Enqueue( "over" );
myQueue.Enqueue( "the" );
myQueue.Enqueue( "lazy" );
myQueue.Enqueue( "dog" );
// Displays the ArrayList and the Queue.
Console.WriteLine( "The ArrayList initially contains the following:" );
PrintValues( myAL, '\t' );
Console.WriteLine( "The Queue initially contains the following:" );
PrintValues( myQueue, '\t' );
// Copies the Queue elements to the end of the ArrayList.
myAL.AddRange( myQueue );
// Displays the ArrayList.
Console.WriteLine( "The ArrayList now contains the following:" );
PrintValues( myAL, '\t' );
}
public static void PrintValues( IEnumerable myList, char mySeparator ) {
foreach ( Object obj in myList )
Console.Write( "{0}{1}", mySeparator, obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
The ArrayList initially contains the following:
The quick brown fox
The Queue initially contains the following:
jumps over the lazy dog
The ArrayList now contains the following:
The quick brown fox jumps over the lazy dog
*/
Imports System.Collections
Public Class SamplesArrayList
Public Shared Sub Main()
' Creates and initializes a new ArrayList.
Dim myAL As New ArrayList()
myAL.Add("The")
myAL.Add("quick")
myAL.Add("brown")
myAL.Add("fox")
' Creates and initializes a new Queue.
Dim myQueue As New Queue()
myQueue.Enqueue("jumps")
myQueue.Enqueue("over")
myQueue.Enqueue("the")
myQueue.Enqueue("lazy")
myQueue.Enqueue("dog")
' Displays the ArrayList and the Queue.
Console.WriteLine("The ArrayList initially contains the following:")
PrintValues(myAL, ControlChars.Tab)
Console.WriteLine("The Queue initially contains the following:")
PrintValues(myQueue, ControlChars.Tab)
' Copies the Queue elements to the end of the ArrayList.
myAL.AddRange(myQueue)
' Displays the ArrayList.
Console.WriteLine("The ArrayList now contains the following:")
PrintValues(myAL, ControlChars.Tab)
End Sub
Public Shared Sub PrintValues(myList As IEnumerable, mySeparator As Char)
Dim obj As [Object]
For Each obj In myList
Console.Write( "{0}{1}", mySeparator, obj )
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' The ArrayList initially contains the following:
' The quick brown fox
' The Queue initially contains the following:
' jumps over the lazy dog
' The ArrayList now contains the following:
' The quick brown fox jumps over the lazy dog
Megjegyzések
ArrayList
null érvényes értékként fogadja el, és lehetővé teszi az ismétlődő elemek használatát.
A benne lévő ICollection elemek sorrendje megmarad a ArrayList.
Ha az új Count (az aktuális Count és a gyűjtemény mérete) nagyobb Capacitylesz, a rendszer a belső tömb automatikus újraelosztásával növeli a kapacitást ArrayList az új elemek elhelyezéséhez, és a meglévő elemeket az új elemek hozzáadása előtt átmásolja az új tömbbe.
Ha az ArrayList új elemeket a Capacityművelet növelése nélkül is el tudja fogadni, akkor ez a metódus egy O(n) művelet, ahol n a hozzáadandó elemek száma. Ha a kapacitást növelni kell az új elemek elhelyezéséhez, ez a módszer művelet O(n + m) lesz, ahol n a hozzáadandó elemek száma és m az Count.