SortedList.RemoveAt(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Entfernt das Element am angegebenen Index aus einem SortedList-Objekt.
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)
Parameter
- index
- Int32
Der nullbasierte Index des zu entfernenden Elements.
Ausnahmen
index
liegt außerhalb des Bereichs der gültigen Indizes für das SortedList-Objekt.
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie Elemente aus einem SortedList Objekt entfernt werden.
#using <system.dll>
using namespace System;
using namespace System::Collections;
void PrintKeysAndValues( SortedList^ myList )
{
Console::WriteLine( "\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList->Count; i++ )
{
Console::WriteLine( "\t{0}:\t{1}", myList->GetKey( i ), myList->GetByIndex( i ) );
}
Console::WriteLine();
}
int main()
{
// Creates and initializes a new SortedList.
SortedList^ mySL = gcnew SortedList;
mySL->Add( "3c", "dog" );
mySL->Add( "2c", "over" );
mySL->Add( "1c", "brown" );
mySL->Add( "1a", "The" );
mySL->Add( "1b", "quick" );
mySL->Add( "3a", "the" );
mySL->Add( "3b", "lazy" );
mySL->Add( "2a", "fox" );
mySL->Add( "2b", "jumps" );
// Displays the SortedList.
Console::WriteLine( "The SortedList initially contains the following:" );
PrintKeysAndValues( mySL );
// Removes the element with the key "3b".
mySL->Remove( "3b" );
// Displays the current state of the SortedList.
Console::WriteLine( "After removing \"lazy\":" );
PrintKeysAndValues( mySL );
// Removes the element at index 5.
mySL->RemoveAt( 5 );
// Displays the current state of the SortedList.
Console::WriteLine( "After removing the element at index 5:" );
PrintKeysAndValues( mySL );
}
/*
This code produces the following output.
The SortedList initially contains the following:
-KEY- -VALUE-
1a: The
1b: quick
1c: brown
2a: fox
2b: jumps
2c: over
3a: the
3b: lazy
3c: dog
After removing "lazy":
-KEY- -VALUE-
1a: The
1b: quick
1c: brown
2a: fox
2b: jumps
2c: over
3a: the
3c: dog
After removing the element at index 5:
-KEY- -VALUE-
1a: The
1b: quick
1c: brown
2a: fox
2b: jumps
3a: the
3c: dog
*/
using System;
using System.Collections;
public class SamplesSortedList {
public static void Main() {
// Creates and initializes a new SortedList.
SortedList mySL = new SortedList();
mySL.Add( "3c", "dog" );
mySL.Add( "2c", "over" );
mySL.Add( "1c", "brown" );
mySL.Add( "1a", "The" );
mySL.Add( "1b", "quick" );
mySL.Add( "3a", "the" );
mySL.Add( "3b", "lazy" );
mySL.Add( "2a", "fox" );
mySL.Add( "2b", "jumps" );
// Displays the SortedList.
Console.WriteLine( "The SortedList initially contains the following:" );
PrintKeysAndValues( mySL );
// Removes the element with the key "3b".
mySL.Remove( "3b" );
// Displays the current state of the SortedList.
Console.WriteLine( "After removing \"lazy\":" );
PrintKeysAndValues( mySL );
// Removes the element at index 5.
mySL.RemoveAt( 5 );
// Displays the current state of the SortedList.
Console.WriteLine( "After removing the element at index 5:" );
PrintKeysAndValues( mySL );
}
public static void PrintKeysAndValues( SortedList myList ) {
Console.WriteLine( "\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList.Count; i++ ) {
Console.WriteLine( "\t{0}:\t{1}", myList.GetKey(i), myList.GetByIndex(i) );
}
Console.WriteLine();
}
}
/*
This code produces the following output.
The SortedList initially contains the following:
-KEY- -VALUE-
1a: The
1b: quick
1c: brown
2a: fox
2b: jumps
2c: over
3a: the
3b: lazy
3c: dog
After removing "lazy":
-KEY- -VALUE-
1a: The
1b: quick
1c: brown
2a: fox
2b: jumps
2c: over
3a: the
3c: dog
After removing the element at index 5:
-KEY- -VALUE-
1a: The
1b: quick
1c: brown
2a: fox
2b: jumps
3a: the
3c: dog
*/
Imports System.Collections
Public Class SamplesSortedList
Public Shared Sub Main()
' Creates and initializes a new SortedList.
Dim mySL As New SortedList()
mySL.Add("3c", "dog")
mySL.Add("2c", "over")
mySL.Add("1c", "brown")
mySL.Add("1a", "The")
mySL.Add("1b", "quick")
mySL.Add("3a", "the")
mySL.Add("3b", "lazy")
mySL.Add("2a", "fox")
mySL.Add("2b", "jumps")
' Displays the SortedList.
Console.WriteLine("The SortedList initially contains the following:")
PrintKeysAndValues(mySL)
' Removes the element with the key "3b".
mySL.Remove("3b")
' Displays the current state of the SortedList.
Console.WriteLine("After removing ""lazy"":")
PrintKeysAndValues(mySL)
' Removes the element at index 5.
mySL.RemoveAt(5)
' Displays the current state of the SortedList.
Console.WriteLine("After removing the element at index 5:")
PrintKeysAndValues(mySL)
End Sub
Public Shared Sub PrintKeysAndValues(myList As SortedList)
Console.WriteLine(ControlChars.Tab & "-KEY-" & ControlChars.Tab & _
"-VALUE-")
Dim i As Integer
For i = 0 To myList.Count - 1
Console.WriteLine(ControlChars.Tab & "{0}:" & ControlChars.Tab & _
"{1}", myList.GetKey(i), myList.GetByIndex(i))
Next i
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' The SortedList initially contains the following:
' -KEY- -VALUE-
' 1a: The
' 1b: quick
' 1c: brown
' 2a: fox
' 2b: jumps
' 2c: over
' 3a: the
' 3b: lazy
' 3c: dog
'
' After removing "lazy":
' -KEY- -VALUE-
' 1a: The
' 1b: quick
' 1c: brown
' 2a: fox
' 2b: jumps
' 2c: over
' 3a: the
' 3c: dog
'
' After removing the element at index 5:
' -KEY- -VALUE-
' 1a: The
' 1b: quick
' 1c: brown
' 2a: fox
' 2b: jumps
' 3a: the
' 3c: dog
Hinweise
Die Indexsequenz basiert auf der Sortiersequenz. Wenn ein Element hinzugefügt wird, wird es in der richtigen Sortierreihenfolge eingefügt SortedList , und die Indizierung wird entsprechend angepasst. Wenn ein Element entfernt wird, wird auch die Indizierung entsprechend angepasst. Daher kann sich der Index eines bestimmten Schlüssel-Wert-Paares ändern, wenn Elemente hinzugefügt oder aus dem SortedList Objekt entfernt werden.
In Auflistungen mit zusammenhängenden Elementen, beispielsweise Listen, wird die nach dem Entfernen eines Elements entstandene Lücke durch Verschieben aller nachfolgenden Elemente gefüllt. Wenn die Auflistung indiziert ist, werden auch die Indizes der verschobenen Elemente aktualisiert. Dies gilt nicht für Auflistungen, in denen die Elemente konzeptionell in Buckets gruppiert sind, beispielsweise Hashtabellen.
Diese Methode ist ein O(n)
Vorgang, wobei n
.Count