ArrayList.RemoveRange(Int32, Int32) Metoda

Definice

Odebere oblast 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 založený na nule oblasti prvků, které se mají odebrat.

count
Int32

Počet prvků, které chcete odebrat.

Výjimky

Hodnota index je menší než nula.

nebo

Hodnota count je menší než nula.

index a count neoznamujte platný rozsah prvků v souboru ArrayList.

Je ArrayList jen pro čtení.

nebo

ArrayList pevnou velikost.

Příklady

Následující příklad kódu ukazuje, jak odebrat prvky z objektu ArrayList.

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ů, jako jsou seznamy, se prvky, které následují odebraným prvkem, přesunou nahoru, aby zabíraly uvolněné místo. Pokud je kolekce indexována, indexy prvků, které jsou přesunuty, se také aktualizují. Toto chování se nevztahuje na kolekce, ve kterých jsou prvky koncepčně seskupeny do kontejnerů, jako je například tabulka hash.

Tato metoda je O(n) operace, kde n je Count.

Platí pro

Viz také