ArrayList.Remove(Object) Metoda

Definicja

Usuwa pierwsze wystąpienie określonego obiektu z ArrayList .Removes the first occurrence of a specific object from the ArrayList.

public:
 virtual void Remove(System::Object ^ obj);
public virtual void Remove (object obj);
public virtual void Remove (object? obj);
abstract member Remove : obj -> unit
override this.Remove : obj -> unit
Public Overridable Sub Remove (obj As Object)

Parametry

obj
Object

ObjectDo usunięcia z ArrayList .The Object to remove from the ArrayList. Wartość może być równa null .The value can be null.

Implementuje

Wyjątki

ArrayListJest tylko do odczytu.The ArrayList is read-only.

-lub--or- ArrayListMa stały rozmiar.The ArrayList has a fixed size.

Przykłady

Poniższy przykład kodu pokazuje, jak usunąć elementy z ArrayList .The following code example shows how to remove elements from the 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

Uwagi

Jeśli ArrayList obiekt nie zawiera określonego obiektu, ArrayList pozostaje niezmieniony.If the ArrayList does not contain the specified object, the ArrayList remains unchanged. Wyjątek nie jest zgłaszany.No exception is thrown.

Ta metoda przeprowadza wyszukiwanie liniowe; w związku z tym ta metoda jest O(n) operacją, gdzie n is Count .This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.

Ta metoda określa równość przez wywoływanie Object.Equals .This method determines equality by calling Object.Equals.

W kolekcjach elementów sąsiadujących, takich jak listy, elementy znajdujące się po usuniętym elemencie są przenoszone do opuszczone.In collections of contiguous elements, such as lists, the elements that follow the removed element move up to occupy the vacated spot. Jeśli kolekcja jest indeksowana, indeksy przeniesionych elementów również są aktualizowane.If the collection is indexed, the indexes of the elements that are moved are also updated. To zachowanie nie dotyczy kolekcji, w których elementy są pod względem koncepcyjnym pogrupowane w przedziały, np. tablic skrótów.This behavior does not apply to collections where elements are conceptually grouped into buckets, such as a hash table.

Dotyczy

Zobacz też