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"]