SortedList.RemoveAt(Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee verwijdert u het element in de opgegeven index van een SortedList object.
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)
Parameters
- index
- Int32
De op nul gebaseerde index van het element dat moet worden verwijderd.
Uitzonderingen
index valt buiten het bereik van geldige indexen voor het SortedList object.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u elementen uit een SortedList object verwijdert.
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
Opmerkingen
De indexvolgorde is gebaseerd op de sorteervolgorde. Wanneer een element wordt toegevoegd, wordt het ingevoegd SortedList in de juiste sorteervolgorde en wordt de indexering dienovereenkomstig aangepast. Wanneer een element wordt verwijderd, wordt de indexering ook dienovereenkomstig aangepast. Daarom kan de index van een specifiek sleutel-waardepaar veranderen wanneer elementen worden toegevoegd aan of verwijderd uit het SortedList object.
In verzamelingen van aaneengesloten elementen, zoals lijsten, worden de elementen die volgen op het verwijderde element omhoog verplaatst om de onbezette plek te bezetten. Als de verzameling is geïndexeerd, worden de indexen van de verplaatste elementen ook bijgewerkt. Dit gedrag is niet van toepassing op verzamelingen waarin elementen conceptueel zijn gegroepeerd in buckets, zoals een hash-tabel.
Deze methode is een O(n) bewerking, waarbij n .Count