HashSet은 Set 인터페이스의 구현 클래스이다.
HashMap은 Map 인터페이스의 구현 클래스이다.
즉, HashSet은 일반적인 요소를 저장하고, HashMap은 키와 값을 한 쌍으로 묶어 저장한다.
HashSet은 중복되는 요소를 허용하지 않는다.
HashMap은 중복되는 키를 허용하지 않는다. 값은 중복되어도 괜찮다.
이 두 자료구조는 이름에서 알 수 있듯이 해싱(Hashing)기법으로 데이터를 관리한다.
따라서 다음의 특징을 가진다.
- 데이터를 탐색할 때 성능이 뛰어나다.
- 각 데이터의 저장 위치가 저장 순서와 관련이 없다. (데이터가 연속적으로 저장되는 배열과 다르다)
쓰임새
1. HashSet
- 특정 데이터 집합 중 어떠한 값이 존재하는지 여부를 판단할 때 쓰기 좋다.
2. HashMap
- 특정 데이터 집합의 요소들에 순위를 매길 때, 값이 같은 요소가 같은 순위를 가져야 하는 경우 쓰기 좋다. key에는 값 자체를 저장하고 value에는 순위를 저장한 뒤, 값을 기준으로 순위를 알려달라는 요청이 들어오면 HashMap을 탐색하면 된다.
- 좌표압축 시에도 쓰기 좋다.
더보기
쓰임새는 관련된 알고리즘 문제를 풀 때마다 추가한다.
'Java 공부 > Java 일반' 카테고리의 다른 글
자바로 트리 만들기 (0) | 2022.02.12 |
---|---|
부분문자열을 얻어올 때 사용하는 substring() (0) | 2022.02.11 |
개행문자 (0) | 2022.01.28 |
Arrays.sort() 사용시 주의할 점 (0) | 2022.01.14 |
버퍼드리더 BufferedReader (0) | 2022.01.13 |