7.6 IDictionary 인터페이스
IDictionary 인터페이스는 ICollection으로부터 파생된 인터페이스입니다. IDictionary 인터페이스는 순서에만 의존하는 IList 인터페이스와 달리 키(Key)와 값(Value)으로 대응시켜 데이터를 추출하는 방법을 제공하고 있습니다. 다음은 IDictionary 인터페이스의 상속 구조를 보여주고 있습니다.
그림 7-6 IDictionary 인터페이스 상속 구조
IDictionary 인터페이스의 가장 큰 특징인 키와 값의 의미는 사전을 찾을 때처럼 알파벳의 키가 있으면 사전의 어떤 부분이라도 검색할 수 있다는 의미를 담고 있습니다. 즉, 데이터를 삽입할 때 데이터에 특정 키를 연결시켜 둠으로써 쉽게 데이터를 추출할 수 있는 것입니다. 키와 값으로 사용되는 데이터형은 object형이며 어떠한 타입이라도 키와 값으로 이용할 수 있습니다. 하지만, 키(Key)는 유일해야 합니다. 다음은 IDictionary 인터페이스에서 사용되는 속성과 메서드입니다.
▣ IDictionary 인터페이스 속성 |
□ bool IsFixedSize {get;}
· 컬렉션의 크기가 정해져 있는지 검사한다.
□ bool IsReadOnly {get;}
· 컬렉션이 읽기전용인지 검사한다.
□ ICollection Keys {get;}
· 컬렉션 내의 모든 키를 나열한다.
□ ICollection Values {get;}
· 컬렉션 내의 모든 값을 나열한다. |
▣ IDictionary 인터페이스 메서드 |
□ void Add(object key, object value);
· 키와 값을 전달하여 데이터를 컬렉션에 추가한다.
□ void Clear();
· 컬렉션을 비운다.
□ bool Contains(object Key);
· 특정 키가 데이터와 연관되어 있는지 검사한다.
□ IDictionaryEnumerator GetEnumerator();
· 키와 값을 나열한다. IDictionaryEnumerator 인터페이스를 반환한다.
□ void Remove(object key);
· 삭제할 값의 키를 전달하여 데이터를 컬렉션에서 삭제한다. |
IDictionary에 관련된 예제는 IDictionary를 구현한 Hashtable을 참고하시기 바랍니다.