
안녕하세요 인터럽트입니다.
이번에는 C#에서 정말 유용하게 사용하는 기능인 Dictionary 와 KeyValuePair의 기능과 차이점에 대해 정리해 보려고 합니다. 제가 요즘 java를 공부 중인데 자바에서의 맵과 같은 기능인 거 같아요
Dictionary란 ?
Dictionary<TKey, TValue>
Dictionary클래스는 키-값 쌍을 저장하고 관리하기 위한 자료구조입니다. hash table을 기반으로 하며, 각 키는 고유해야 합니다. 이로 인해 빠른 검색 속도를 제공하며, 키를 기반으로 한 인덱싱을 통해 값에 빠르게 액세스 할 수 있습니다.
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.add("one", 1);
myDictionary.add("two", 2);
int value = myDictionary["one"]; //value는 1로 초기화 된다.
Dictionary를 사용하면 중복된 키를 허용하지 않아서 데이터의 일관성을 유지할 수 있습니다. 또한 해시 기반의 구조로 인해 대량의 데이터에도 뛰어난 성능을 보인다고 하네요
KeyValuePair란?
KeyValuePair는 단일 키-값 쌍을 표현하는 데 사용하는 구조체입니다. 주로 Dictionary의 열거자나 LINQ쿼리 결과 등에서 사용됩니다. 읽기 전용이며 수정할 수 없는 특징을 가지고 있어, 데이터를 읽을 때만 사용할 수 있습니다.
KeyValuePair<string, int> myPair = new KeyValuePair<string, int>("one", 1);
string key = myPair.key; //key변수에는 "one"이 저장됨
int value = myPair.value; //value변수에는 1이 저장됨
언제 어떤 클래스를 사용해야 할까?
단일 데이터를 키-값으로 표현해야 할 때는 KeyValuePair 클래스가 효율적입니다.
하지만 단일 값이기 때문에 복수개의 데이터를 다룰 때는 부적합하다는 단점이 있습니다.
복수개의 데이터를 다룰 때는 Dictionary 클래스를 사용해 줍니다.
KeyValuePair와 다르게 Dictionary는 Collection처럼 계속 add 메소드로 추가할 수 있습니다.
둘 다 키-값 쌍으로 표현한다는 공통점은 있지만 다룰 수 있는 데이터의 수에서 차이가 있네요
적절하게 사용해서 개발하면 참 유용할 것 같습니다.
오늘도 읽어주셔서 감사합니다.


안녕하세요 인터럽트입니다.
이번에는 C#에서 정말 유용하게 사용하는 기능인 Dictionary 와 KeyValuePair의 기능과 차이점에 대해 정리해 보려고 합니다. 제가 요즘 java를 공부 중인데 자바에서의 맵과 같은 기능인 거 같아요
Dictionary란 ?
Dictionary<TKey, TValue>
Dictionary클래스는 키-값 쌍을 저장하고 관리하기 위한 자료구조입니다. hash table을 기반으로 하며, 각 키는 고유해야 합니다. 이로 인해 빠른 검색 속도를 제공하며, 키를 기반으로 한 인덱싱을 통해 값에 빠르게 액세스 할 수 있습니다.
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.add("one", 1);
myDictionary.add("two", 2);
int value = myDictionary["one"]; //value는 1로 초기화 된다.
Dictionary를 사용하면 중복된 키를 허용하지 않아서 데이터의 일관성을 유지할 수 있습니다. 또한 해시 기반의 구조로 인해 대량의 데이터에도 뛰어난 성능을 보인다고 하네요
KeyValuePair란?
KeyValuePair는 단일 키-값 쌍을 표현하는 데 사용하는 구조체입니다. 주로 Dictionary의 열거자나 LINQ쿼리 결과 등에서 사용됩니다. 읽기 전용이며 수정할 수 없는 특징을 가지고 있어, 데이터를 읽을 때만 사용할 수 있습니다.
KeyValuePair<string, int> myPair = new KeyValuePair<string, int>("one", 1);
string key = myPair.key; //key변수에는 "one"이 저장됨
int value = myPair.value; //value변수에는 1이 저장됨
언제 어떤 클래스를 사용해야 할까?
단일 데이터를 키-값으로 표현해야 할 때는 KeyValuePair 클래스가 효율적입니다.
하지만 단일 값이기 때문에 복수개의 데이터를 다룰 때는 부적합하다는 단점이 있습니다.
복수개의 데이터를 다룰 때는 Dictionary 클래스를 사용해 줍니다.
KeyValuePair와 다르게 Dictionary는 Collection처럼 계속 add 메소드로 추가할 수 있습니다.
둘 다 키-값 쌍으로 표현한다는 공통점은 있지만 다룰 수 있는 데이터의 수에서 차이가 있네요
적절하게 사용해서 개발하면 참 유용할 것 같습니다.
오늘도 읽어주셔서 감사합니다.
