ArrayList.RemoveAt(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
移除 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)
參數
- index
- Int32
移除項目之以零為起始的索引。
實作
例外狀況
範例
下列程式代碼範例示範如何從 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
備註
拿掉項目之後,集合的大小會調整,而屬性的值 Count 會減少一。
在相鄰元素的集合中,例如清單,接在移除的元素之後的元素會向上移動以佔用空出的位置。 如果集合具有索引,則移動之項目的索引也會更新。 集合的項目若在概念上群組成 Bucket (例如雜湊資料表),則不適用這項行為。
這個方法是作業 O(n)
,其中 n
是 Count。