반응형
[C#] OrderedDictionary, ListDictionary, HybridDictionary
C#2023. 9. 24. 09:00[C#] OrderedDictionary, ListDictionary, HybridDictionary

OrderedDictionary 클래스 OrderedDictionary 클래스 (System.Collections.Specialized) 키나 인덱스에서 액세스할 수 있는 키/값 쌍의 컬렉션을 나타냅니다. learn.microsoft.com - .NET 2.0 - 비제네릭 사전 클래스, 제네릭 버전은 없음 - Hashtable + ArrayList(RemoveAt, 정수 인덱서 등을 지원) - 요소들의 저장 순서가 추가 순서와 동일함 -> 키 뿐만 아니라 색인으로도 요소에 접근 할 수 있음 ListDictionary 클래스 ListDictionary 클래스 (System.Collections.Specialized) 단일 연결 목록을 사용하여 IDictionary를 구현합니다. 일반적으로 10개 미만의 항..

[C#] Dictionary<TKey,TValue>, Hashtable
C#2023. 9. 22. 09:00[C#] Dictionary<TKey,TValue>, Hashtable

Dictionary 클래스 Dictionary 클래스 (System.Collections.Generic) 키와 값의 컬렉션을 나타냅니다. learn.microsoft.com - 해시테이블 자료구조에 키들과 값들을 저장하므로 빠르고 효율적임 - Dictionary는 IDictionary 인터페이스의 제네릭 버전, 비제네릭 버전을 모두 구현 * 단, 제네릭 버전만 공용으로 노출 - Dictionary는 제네릭 IDictionary의 교과서적 구현 var myDictionary = new Dictionary(); myDictionary.Add("하나", 1); // add를 통한 추가 myDictionary["둘"] = 20; // 인덱서를 통한 추가 myDictionary["둘"] = 2; // 인덱서를 통..

[C#] IDictionary<TKey,TValue>, IReadOnlyDictionary<TKey,TValue>, IDictionary
C#2023. 9. 20. 09:00[C#] IDictionary<TKey,TValue>, IReadOnlyDictionary<TKey,TValue>, IDictionary

IDictionary 인터페이스 IDictionary 인터페이스 (System.Collections.Generic) 키/값 쌍의 제네릭 컬렉션을 나타냅니다. learn.microsoft.com - 모든 키-값 쌍 기반 컬렉션의 표준 프로토콜을 정의 - 임의의 형식의 키에 기초해서 요소들에 접근하는 메서드들과 속성들을 추가해서 ICollection를 확장함 namespace System.Collections.Generic { public interface IDictionary : ICollection, IEnumerable, IEnumerable { TValue this[TKey key] { get; set; } // 주 인덱서(키로 접근) ICollection Keys { get; } // 키 IColl..

[C#] HashSet<T>, SortedSet<T>
C#2023. 9. 16. 09:00[C#] HashSet<T>, SortedSet<T>

HashSet 클래스 HashSet 클래스 (System.Collections.Generic) 값 집합을 나타냅니다. learn.microsoft.com - .NET 3.5 - ISet 인터페이스에 기반 - Contains 메서드는 해시 기반 조회(Hash-Based Lookup)를 이용해서 빠르게 실행 됨 - 중복된 원소를 저장하지 않음(수학에서의 집합-Set) - 색인으로 특정 원소에 접근 할 수 없음 - 키들을 저장하는 해시테이블로 구성 * SymmetricExceptWith 메서드 - 책에는 두 집합에 모두 있는 원소들을 첫 집합에서 제거한다 라고 적혀있어서 좀 햇갈렸음 - 대칭차집합인데, 두 집합에서 두 집합의 교집합을 제외한 합집합이라고 생각하면 될 것 같음 namespace System.Co..

반응형
image