ArrayList.RemoveRange(Int32, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odebere řadu prvků z objektu ArrayList.
public:
virtual void RemoveRange(int index, int count);
public virtual void RemoveRange (int index, int count);
abstract member RemoveRange : int * int -> unit
override this.RemoveRange : int * int -> unit
Public Overridable Sub RemoveRange (index As Integer, count As Integer)
Parametry
- index
- Int32
Počáteční index od nuly rozsahu prvků, které se mají odebrat.
- count
- Int32
Počet prvků, které se mají odebrat.
Výjimky
Hodnota index
je menší než nula.
-nebo-
Hodnota count
je menší než nula.
index
a count
neoznamujte platný rozsah prvků v ArrayList.
Příklady
Následující příklad kódu ukazuje, jak odebrat elementy z objektu ArrayList.
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList );
int main()
{
// Creates and initializes a new ArrayList.
ArrayList^ myAL = gcnew ArrayList;
myAL->Add( "The" );
myAL->Add( "quick" );
myAL->Add( "brown" );
myAL->Add( "fox" );
myAL->Add( "jumps" );
myAL->Add( "over" );
myAL->Add( "the" );
myAL->Add( "lazy" );
myAL->Add( "dog" );
// Displays the ArrayList.
Console::WriteLine( "The ArrayList initially contains the following:" );
PrintValues( myAL );
// Removes the element containing "lazy".
myAL->Remove( "lazy" );
// Displays the current state of the ArrayList.
Console::WriteLine( "After removing \"lazy\":" );
PrintValues( myAL );
// Removes the element at index 5.
myAL->RemoveAt( 5 );
// Displays the current state of the ArrayList.
Console::WriteLine( "After removing the element at index 5:" );
PrintValues( myAL );
// Removes three elements starting at index 4.
myAL->RemoveRange( 4, 3 );
// Displays the current state of the ArrayList.
Console::WriteLine( "After removing three elements starting at index 4:" );
PrintValues( myAL );
}
void PrintValues( IEnumerable^ myList )
{
IEnumerator^ myEnum = myList->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( " {0}", obj );
}
Console::WriteLine();
}
/*
This code produces the following output.
The ArrayList initially contains the following:
The quick brown fox jumps over the lazy dog
After removing "lazy":
The quick brown fox jumps over the dog
After removing the element at index 5:
The quick brown fox jumps the dog
After removing three elements starting at index 4:
The quick brown fox
*/
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" );
myAL.Add( "jumps" );
myAL.Add( "over" );
myAL.Add( "the" );
myAL.Add( "lazy" );
myAL.Add( "dog" );
// Displays the ArrayList.
Console.WriteLine( "The ArrayList initially contains the following:" );
PrintValues( myAL );
// Removes the element containing "lazy".
myAL.Remove( "lazy" );
// Displays the current state of the ArrayList.
Console.WriteLine( "After removing \"lazy\":" );
PrintValues( myAL );
// Removes the element at index 5.
myAL.RemoveAt( 5 );
// Displays the current state of the ArrayList.
Console.WriteLine( "After removing the element at index 5:" );
PrintValues( myAL );
// Removes three elements starting at index 4.
myAL.RemoveRange( 4, 3 );
// Displays the current state of the ArrayList.
Console.WriteLine( "After removing three elements starting at index 4:" );
PrintValues( myAL );
}
public static void PrintValues( IEnumerable myList ) {
foreach ( Object obj in myList )
Console.Write( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
The ArrayList initially contains the following:
The quick brown fox jumps over the lazy dog
After removing "lazy":
The quick brown fox jumps over the dog
After removing the element at index 5:
The quick brown fox jumps the dog
After removing three elements starting at index 4:
The quick brown fox
*/
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")
myAL.Add("jumps")
myAL.Add("over")
myAL.Add("the")
myAL.Add("lazy")
myAL.Add("dog")
' Displays the ArrayList.
Console.WriteLine("The ArrayList initially contains the following:")
PrintValues(myAL)
' Removes the element containing "lazy".
myAL.Remove("lazy")
' Displays the current state of the ArrayList.
Console.WriteLine("After removing ""lazy"":")
PrintValues(myAL)
' Removes the element at index 5.
myAL.RemoveAt(5)
' Displays the current state of the ArrayList.
Console.WriteLine("After removing the element at index 5:")
PrintValues(myAL)
' Removes three elements starting at index 4.
myAL.RemoveRange(4, 3)
' Displays the current state of the ArrayList.
Console.WriteLine("After removing three elements starting at index 4:")
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 the following output.
'
' The ArrayList initially contains the following:
' The quick brown fox jumps over the lazy dog
' After removing "lazy":
' The quick brown fox jumps over the dog
' After removing the element at index 5:
' The quick brown fox jumps the dog
' After removing three elements starting at index 4:
' The quick brown fox
Poznámky
V kolekcích souvislých prvků, tj. například v seznamech, se prvky následující po odebraném prvku posouvají nahoru tak, aby obsadily uvolněné místo. Je-li kolekce indexována, budou aktualizovány rovněž indexy přesunutých prvků. Toto chování se nevztahuje na kolekce, kde prvky jsou koncepčně seskupeny do sad, tj. například na tabulky hash.
Tato metoda je O(n)
operace, kde n
je Count.