F #-가변 사전

그만큼 Dictionary<'TKey, 'TValue> 클래스는 F # 맵 데이터 구조의 가변 아날로그이며 동일한 함수를 많이 포함합니다.

F #의 맵 장에서 요약하면 맵은 값을 키와 연결하는 특수한 종류의 집합입니다.

가변 사전 만들기

가변 사전은 new키워드 및 목록의 생성자를 호출합니다. 다음 예제는 이것을 보여줍니다-

open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict

프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.

Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]

Dictionary (TKey, TValue) 클래스

Dictionary (TKey, TValue) 클래스는 키와 값의 모음을 나타냅니다.

다음 표는 List (T) 클래스의 속성, 생성자 및 메서드를 제공합니다.

속성

특성 기술
비교 자 사전의 키가 같음을 확인하는 데 사용되는 IEqualityComparer (T)를 가져옵니다.
카운트 Dictionary (TKey, TValue)에 포함 된 키 / 값 쌍의 수를 가져옵니다.
안건 지정된 키와 연결된 값을 가져 오거나 설정합니다.
Dictionary (TKey, TValue)의 키를 포함하는 컬렉션을 가져옵니다.
가치 Dictionary (TKey, TValue)의 값을 포함하는 컬렉션을 가져옵니다.

생성자

생성자 기술
사전 (TKey, TValue) () 새 인스턴스를 초기화합니다. Dictionary(TKey, TValue) 비어 있고 기본 초기 용량을 가지며 키 유형에 대해 기본 같음 비교자를 사용하는 클래스입니다.
사전 (TKey, TValue) (IDictionary (TKey, TValue)) 새 인스턴스를 초기화합니다. Dictionary(TKey, TValue) 지정된에서 복사 된 요소를 포함하는 클래스 IDictionary(TKey, TValue) 키 유형에 대해 기본 같음 비교자를 사용합니다.
사전 (TKey, TValue) (IEqualityComparer (TKey)) 새 인스턴스를 초기화합니다. Dictionary(TKey, TValue) 비어 있고 기본 초기 용량을 가지며 지정된 IEqualityComparer(T).
사전 (TKey, TValue) (Int32) 새 인스턴스를 초기화합니다. Dictionary(TKey, TValue) 비어 있고 지정된 초기 용량을 가지며 키 유형에 대해 기본 같음 비교자를 사용하는 클래스입니다.
사전 (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) 새 인스턴스를 초기화합니다. Dictionary(TKey, TValue) 지정된에서 복사 된 요소를 포함하는 클래스 IDictionary(TKey, TValue) 그리고 지정된 IEqualityComparer(T).
사전 (TKey, TValue) (Int32, IEqualityComparer (TKey)) 새 인스턴스를 초기화합니다. Dictionary(TKey, TValue) 비어 있고 지정된 초기 용량을 가지며 지정된 IEqualityComparer(T).
Dictionary (TKey, TValue) (SerializationInfo, StreamingContext) 새 인스턴스를 초기화합니다. ictionary(TKey, TValue) 직렬화 된 데이터가있는 클래스.

행동 양식

방법 기술
더하다 지정된 키와 값을 사전에 추가합니다.
맑은 Dictionary (TKey, TValue)에서 모든 키와 값을 제거합니다.
ContainsKey Dictionary (TKey, TValue)에 지정된 키가 포함되어 있는지 여부를 확인합니다.
ContainsValue Dictionary (TKey, TValue)에 특정 값이 포함되어 있는지 여부를 확인합니다.
Equals (객체) 지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상 속됨)
마무리 개체가 가비지 수집에 의해 회수되기 전에 리소스를 해제하고 다른 정리 작업을 수행 할 수 있도록합니다. (Object에서 상 속됨)
GetEnumerator Dictionary (TKey, TValue)를 반복하는 열거자를 반환합니다.
GetHashCode 기본 해시 함수 역할을합니다. (Object에서 상 속됨)
GetObjectData System.Runtime.Serialization.ISerializable 인터페이스를 구현하고 Dictionary (TKey, TValue) 인스턴스를 직렬화하는 데 필요한 데이터를 반환합니다.
GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상 속됨)
MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상 속됨)
OnDeserialization System.Runtime.Serialization.ISerializable 인터페이스를 구현하고 deserialization이 완료되면 deserialization 이벤트를 발생시킵니다.
없애다 Dictionary (TKey, TValue)에서 지정된 키가있는 값을 제거합니다.
ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상 속됨)
TryGetValue 지정된 키와 관련된 값을 가져옵니다.

open System.Collections.Generic
let dict = new Dictionary<string, string>()

dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")

printfn "Dictionary - students: %A" dict
printfn "Total Number of Students: %d" dict.Count
printfn "The keys: %A" dict.Keys
printf"The Values: %A" dict.Values

프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.

Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Total Number of Students: 4
The keys: seq ["1501"; "1502"; "1503"; "1504"]
The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"]