[Data Structure] 해시맵(Hash Map)
해시맵 이란?
해시맵(Hash Map) 이란?
-> 자료 구조에서 가장 기본적인 것이 해시맵(해시 테이블이라고도 합니다.)입니다.
해시맵은 키-값 쌍으로 데이터를 저장하는 비선형 자료구조이며, ‘키’를 이용하여 데이터를 빠르게 검색할 수 있습니다.
Dictionary와 차이점
- 버전
- Hash Map : C# 8.0 이전 까지 사용 가능
- Dictionary : C# 8.0 이상 부터 사용 가능
- 속도
- Hash Map : Dictionary보다 빠름
- Dictionary : Hash Map보다 느림
사용하는 이유
- 키를 이용하여 데이터를 빠르게 검색할 수 있습니다.
- 데이터의 저장 및 검색이 효율적입니다.
- 데이터의 중복을 허용하지 않습니다.
문제점&주의사항
- 키의 범위가 넓을 경우 해시 충돌이 발생할 수 있습니다.
- 해시 충돌을 해결하기 위해 별도의 자료구조를 사용해야 할 수 있습니다.
예제
using System;
using System.Collections.Generic;
class HashMap
{
static void Main(string[] args)
{
Hashtable<string, int> _hashmap = new Hashtable<string, int>();
// 해시맵에 데이터를 추가
_hashmap.Add("apple", 1);
_hashmap.Add("banana", 2);
_hashmap.Add("orange", 3);
_hashmap.Add("melon", 4);
// 해시맵에서 데이터를 검색
int value = _hashmap["apple"];
// 해시맵에서 데이터를 삭제
_hashmap.Remove("apple");
}
}