딕셔너리

해시 테이블

 

  • 해시 테이블은 데이터를 키와 값의 쌍으로 저장하고 관리하는 구조입니다. 키값을 통해 빠르게 값에 접근이 가능합니다
  • 해시 - 데이터를 빠르게 찾기위해, 특정 규칙에 따라 숫자(위치)를 반환하는 것
  • 해시를 통해 주소를 보고 원하는 값을 한번에 찾기 가능
  • Key, Value가 한쌍으로 저장된다
  • 키값을 해쉬함수를 이용해 특정 숫자가 나오면 그것을 주소값 또는 인덱스로 사용해 값을 기억시킴
  • 해쉬충돌 - 키값이 함수로 변환 되었을 때 같은 수가 나와서 충돌이 발생하는 것
  • 충돌 해결법 - 체이닝 : 같은 칸에 여러개를 리스트같은 자료구조로 묶어버린다,  개방주소법 : 충돌난 칸 바로 옆 빈칸에 찾아서 넣는 방식

 

  • 해시 테이블은 오브젝트형이라 잘 안쓰임!

 


딕셔너리

 

  • 작동 방식은 해시테이블과 거의 같음
  • 다만 해시테이블은 오브젝트형을 사용해 다시 꺼내 쓸때 변환을 해줘야함
  • 딕셔너리는 제네릭을 이용해 필요한 자료형만 사용할 수 있음

 

주요 메서드

 

메서드
Add(TKey key, TValue value) 지정된 을 딕셔너리에 추가합니다. 만약 이미 해당 키가 존재하면 예외(ArgumentException)를 발생시킵니다
ContainsKey(TKey key) 딕셔너리에 특정 가 포함되어 있는지 여부를 bool 값으로 반환합니다.
TryGetValue(TKey key, out TValue value) 지정된 와 연결된 값을 가져오려고 시도합니다. 키가 존재하면 true를 반환하고 값을 out 매개변수에 할당하며, 키가 없으면 false를 반환하고 out 매개변수에 기본값(default value)을 할당합니다.
Remove(TKey key) 지정된 가 있는 요소를 딕셔너리에서 제거합니다. 성공적으로 제거하면 true를 반환하고, 키가 없으면 false를 반환합니다.
Clear() 딕셔너리에서 모든 키와 값을 제거합니다.

'C# > 자료구조를 활용한 데이터 관리' 카테고리의 다른 글

그래프 와 트리  (0) 2025.11.03
스택과 큐  (0) 2025.11.03
리스트와 링크드 리스트  (0) 2025.10.14
자료구조  (0) 2025.10.14