Share via


SortedList.Add(Object, Object) Metode

Definisi

Menambahkan elemen dengan kunci dan nilai yang ditentukan ke SortedList objek.

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

Parameter

key
Object

Kunci elemen yang akan ditambahkan.

value
Object

Nilai elemen yang akan ditambahkan. Nilainya bisa .null

Penerapan

Pengecualian

keyadalah null.

Elemen dengan yang ditentukan key sudah ada di SortedList objek .

-atau-

SortedList diatur untuk menggunakan IComparable antarmuka, dan key tidak mengimplementasikan IComparable antarmuka.

SortedList bersifat baca-saja.

-atau-

memiliki SortedList ukuran tetap.

Memori yang tersedia tidak cukup untuk menambahkan elemen ke SortedList.

Pembanding memberikan pengecualian.

Contoh

Contoh kode berikut menunjukkan cara menambahkan elemen ke SortedList objek.

#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( "one", "The" );
   mySL->Add( "two", "quick" );
   mySL->Add( "three", "brown" );
   mySL->Add( "four", "fox" );
   
   // Displays the SortedList.
   Console::WriteLine(  "The SortedList contains the following:" );
   PrintKeysAndValues( mySL );
}

/* 
This code produces the following output.

The SortedList contains the following:
        -KEY-   -VALUE-
        four:   fox
        one:    The
        three:  brown
        two:    quick
*/
using System;
using System.Collections;
public class SamplesSortedList  {

   public static void Main()  {

      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( "one", "The" );
      mySL.Add( "two", "quick" );
      mySL.Add( "three", "brown" );
      mySL.Add( "four", "fox" );

      // Displays the SortedList.
      Console.WriteLine( "The SortedList contains the following:" );
      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 contains the following:
    -KEY-    -VALUE-
    four:    fox
    one:    The
    three:    brown
    two:    quick
*/
Imports System.Collections

Public Class SamplesSortedList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add("one", "The")
        mySL.Add("two", "quick")
        mySL.Add("three", "brown")
        mySL.Add("four", "fox")
        
        ' Displays the SortedList.
        Console.WriteLine("The SortedList contains the following:")
        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 contains the following:
'     -KEY-    -VALUE-
'     four:    fox
'     one:    The
'     three:    brown
'     two:    quick

Keterangan

Titik penyisipan ditentukan berdasarkan perbandingan yang dipilih, baik secara eksplisit maupun default, saat SortedList objek dibuat.

Jika Count sudah sama Capacitydengan , kapasitas SortedList objek ditingkatkan dengan secara otomatis merealokasi array internal, dan elemen yang ada disalin ke array baru sebelum elemen baru ditambahkan.

Anda juga dapat menggunakan Item[] properti untuk menambahkan elemen baru dengan mengatur nilai kunci yang tidak ada di SortedList objek (misalnya, myCollection["myNonexistentKey"] = myValue). Namun, jika kunci yang ditentukan sudah ada di SortedList, pengaturan Item[] properti akan menimpa nilai lama. Sebaliknya, Add metode tidak memodifikasi elemen yang ada.

Elemen SortedList objek diurutkan berdasarkan kunci baik sesuai dengan implementasi tertentu IComparer yang ditentukan ketika SortedList dibuat atau sesuai dengan IComparable implementasi yang disediakan oleh kunci itu sendiri.

Kunci tidak boleh null, tetapi nilainya bisa.

Metode ini adalah O(n) operasi untuk data yang tidak terurai, di mana n adalah Count. Ini adalah O(log n) operasi jika elemen baru ditambahkan di akhir daftar. Jika penyisipan menyebabkan pengurangan ukuran, operasinya adalah O(n).

Berlaku untuk

Lihat juga