Hashtable.Add(Object, Object) Hashtable.Add(Object, Object) Hashtable.Add(Object, Object) Hashtable.Add(Object, Object) Method

정의

지정한 키와 값을 가지는 요소를 Hashtable에 추가합니다.Adds an element with the specified key and value into the Hashtable.

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)

매개 변수

key
Object Object Object Object

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

value
Object Object Object Object

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

구현

예외

같은 키를 가진 요소가 이미 Hashtable에 있는 경우An element with the same key already exists in the Hashtable.

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

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

예제

다음 예제에서는 요소를 추가 하는 방법의 Hashtable합니다.The following example shows how to add elements to the Hashtable.

using namespace System;
using namespace System::Collections;
void PrintKeysAndValues( Hashtable^ myHT );
int main()
{
   
   // Creates and initializes a new Hashtable.
   Hashtable^ myHT = gcnew Hashtable;
   myHT->Add( "one", "The" );
   myHT->Add( "two", "quick" );
   myHT->Add( "three", "brown" );
   myHT->Add( "four", "fox" );
   
   // Displays the Hashtable.
   Console::WriteLine( "The Hashtable contains the following:" );
   PrintKeysAndValues( myHT );
}

void PrintKeysAndValues( Hashtable^ myHT )
{
   Console::WriteLine( "\t-KEY-\t-VALUE-" );
   IEnumerator^ myEnum = myHT->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      DictionaryEntry de = *safe_cast<DictionaryEntry ^>(myEnum->Current);
      Console::WriteLine( "\t{0}:\t{1}", de.Key, de.Value );
   }

   Console::WriteLine();
}

/* 
 This code produces the following output.
 
 The Hashtable contains the following:
         -KEY-   -VALUE-
         two:    quick
         three:  brown
         four:   fox
         one:    The
 */
using System;
using System.Collections;
public class SamplesHashtable
{

   public static void Main()
   {
      // Creates and initializes a new Hashtable.
      var myHT = new Hashtable();
      myHT.Add("one", "The");
      myHT.Add("two", "quick");
      myHT.Add("three", "brown");
      myHT.Add("four", "fox");

      // Displays the Hashtable.
      Console.WriteLine("The Hashtable contains the following:");
      PrintKeysAndValues(myHT);
   }


   public static void PrintKeysAndValues( Hashtable myHT )
   {
      Console.WriteLine("\t-KEY-\t-VALUE-");
      foreach (DictionaryEntry de in myHT)
         Console.WriteLine($"\t{de.Key}:\t{de.Value}");
      Console.WriteLine();
   }
}
/* 
This code produces the following output.

The Hashtable contains the following:
        -KEY-   -VALUE-
        two:    quick
        three:  brown
        four:   fox
        one:    The
*/ 
Imports System.Collections

Public Class SamplesHashtable

    Public Shared Sub Main()

        ' Creates and initializes a new Hashtable.
        Dim myHT As New Hashtable()
        myHT.Add("one", "The")
        myHT.Add("two", "quick")
        myHT.Add("three", "brown")
        myHT.Add("four", "fox")

        ' Displays the Hashtable.
        Console.WriteLine("The Hashtable contains the following:")
        PrintKeysAndValues(myHT)

    End Sub 'Main

    Public Shared Sub PrintKeysAndValues(myHT As Hashtable)
        Console.WriteLine(vbTab + "-KEY-" + vbTab + "-VALUE-")
        For Each de As DictionaryEntry In myHT
            Console.WriteLine(vbTab + "{0}:" + vbTab + "{1}", de.Key, de.Value)
        Next
        Console.WriteLine()
    End Sub 'PrintKeysAndValues

End Class 'SamplesHashtable


' This code produces the following output.
' 
' The Hashtable contains the following:
'         -KEY-   -VALUE-
'         two:    quick
'         one:    The
'         three:  brown
'         four:   fox
' 

설명

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

개체의 상태와 해당 해시 코드 값 간에 상관 관계가 있는 일반적으로 쓰일 수 없습니다 키로 합니다.An object that has no correlation between its state and its hash code value should typically not be used as the key. 예를 들어, 문자열 개체는 키로 사용 하 여 StringBuilder 개체 보다 더 나은입니다.For example, String objects are better than StringBuilder objects for use as keys.

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

하는 경우 Count 의 용량 보다 작습니다.는 Hashtable,이 메서드는 o (1) 작업입니다.If Count is less than the capacity of the Hashtable, this method is an O(1) operation. 이 메서드는 O가 용량을 늘려야 하는 새 요소를 수용할 수 있도록 하는 경우 (n) 작업, 여기서 nCount합니다.If the capacity needs to be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

적용 대상

추가 정보