ArrayList.RemoveAt(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 prvek v zadaném indexu objektu ArrayList.
public:
virtual void RemoveAt(int index);
public virtual void RemoveAt (int index);
abstract member RemoveAt : int -> unit
override this.RemoveAt : int -> unit
Public Overridable Sub RemoveAt (index As Integer)
Parametry
- index
- Int32
Index od nuly elementu, který se má odebrat.
Implementuje
Výjimky
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
Po odebrání elementu se upraví velikost kolekce a hodnota Count vlastnosti se sníží o jednu.
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.