[Java] Java에서 집합 자료구조 이용하기

배채윤·2022년 1월 23일
0

Set?

Java Collection에는 Set이라는 자료구조가 있다. 집합처럼 중복되지 않는 원소 모음을 만들 수 있다.

1. HashSet

데이터 저장에 HashTable(HashMap)을 이용하는 Set

  • Map의 특성 중 하나인 중복 key는 존재할 수 없다는 특징을 이용함.
  • index가 아닌 key를 이용하여 데이터 저장/접근이 필요할 때 유용하다.
  • 데이터 크기가 예상되는 경우 사용
  • 삽입 삭제가 빈번할 경우 사용
import java.util.HashSet;

HashSet<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("a");		// 중복하는 원소이므로 add되지 않음
set.contains("a"); 	// 포함 체크
set.remove("a");	// 삭제

2. TreeSet

논리적인 Tree 구조(TreeMap)로 데이터를 저장하는 Set

  • Map의 특성 중 하나인 중복 key는 존재할 수 없다는 특징을 이용함.
  • 원소 개수가 예측이 불가능할 때 유용
  • 삽입/삭제가 빈번하지 않을 때 사용
  • 정렬 값이 필요한 경우 사용
import java.util.TreeSet;

TreeSet<String> set = new TreeSet<>();
// 삽입, 삭제, 포함 메소드는 HashSet과 동일

3. LinkedHashSet

HashSet을 상속하여 만들어진 Set.
LinkedHashMap을 활용함.

  • 값의 저장 순서가 중요할 때 사용
import java.util.LinkedHashSet;

LinkedHashSet<String> set = new LinkedHashSet<>();

참조

profile
새로운 기술을 테스트하고 적용해보는 걸 좋아하는 서버 개발자

0개의 댓글