SortedList.Add(Object, Object) Method

Definition

지정한 키와 값을 가진 요소를 SortedList 개체에 추가합니다.Adds an element with the specified key and value to a SortedList object.

public:
 virtual void Add(System::Object ^ key, System::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)

Parameters

key
Object

추가할 요소의 키입니다.The key of the element to add.

value
Object

추가할 요소의 값입니다.The value of the element to add. 값은 null이 될 수 있습니다.The value can be null.

Implements

Exceptions

keynull입니다.key is null.

지정한 key를 가진 요소가 이미 SortedList 개체에 있는 경우An element with the specified key already exists in the SortedList object.

-또는--or- SortedListIComparable 인터페이스를 사용하도록 설정되었으나 keyIComparable 인터페이스를 구현하지 않는 경우The SortedList is set to use the IComparable interface, and key does not implement the IComparable interface.

SortedList이 읽기 전용인 경우The SortedList is read-only.

-또는--or- SortedList가 고정 크기입니다.The SortedList has a fixed size.

SortedList에 요소를 추가할 수 있는 메모리가 충분하지 않은 경우There is not enough available memory to add the element to the SortedList.

비교자에는 예외가 throw 됩니다.The comparer throws an exception.

Examples

다음 코드 예제에서는 SortedList 개체에 요소를 추가 하는 방법을 보여 줍니다.The following code example shows how to add elements to a SortedList object.

#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
 

Remarks

삽입 지점은 SortedList 개체가 생성 될 때 선택 된 비교자에 따라 명시적으로 또는 기본적으로 결정 됩니다.The insertion point is determined based on the comparer selected, either explicitly or by default, when the SortedList object was created.

Count 이미 Capacity같은 경우 내부 배열을 자동으로 재할당 하 여 SortedList 개체의 용량이 증가 하며, 새 요소가 추가 되기 전에 기존 요소가 새 배열에 복사 됩니다.If Count already equals Capacity, the capacity of the SortedList object is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.

Item[] 속성을 사용 하 여 SortedList 개체에 없는 키 값 (예: myCollection["myNonexistentKey"] = myValue)을 설정 하 여 새 요소를 추가할 수도 있습니다.You can also use the Item[] property to add new elements by setting the value of a key that does not exist in the SortedList object (for example, myCollection["myNonexistentKey"] = myValue). 그러나 지정 된 키가 이미 SortedList에 있는 경우에는 Item[] 속성을 설정 하 여 이전 값을 덮어씁니다.However, if the specified key already exists in the SortedList, setting the Item[] property overwrites the old value. 반면 Add 메서드는 기존 요소를 수정 하지 않습니다.In contrast, the Add method does not modify existing elements.

SortedList 개체의 요소는 SortedList 생성 될 때 지정 된 특정 IComparer 구현에 따라 또는 키 자체에서 제공 하는 IComparable 구현에 따라 키를 기준으로 정렬 됩니다.The elements of a SortedList object are sorted by the keys either according to a specific IComparer implementation specified when the SortedList is created or according to the IComparable implementation provided by the keys themselves.

키는 null수 없지만 값은 일 수 있습니다.A key cannot be null, but a value can be.

이 메서드는 n Count되는 정렬 되지 않은 데이터에 대 한 O(n) 작업입니다.This method is an O(n) operation for unsorted data, where n is Count. 새 요소가 목록 끝에 추가 되는 경우 O(log n) 작업입니다.It is an O(log n) operation if the new element is added at the end of the list. 삽입으로 인해 크기가 조정 되 면 작업이 O(n)됩니다.If insertion causes a resize, the operation is O(n).

Applies to

See also