[JAVA] Set 인터페이스에 대하여 (3)
·
자바
대부분의 자바 개발자라면 Set을 "중복을 허용하지 않는 컬렉션"이라고 알고 있다. 하지만 실무에서 이를 제대로 활용하려면 Set 내부가 어떻게 동작하는지, 왜 해시 알고리즘을 사용하는지, 그리고 hashCode()와 equals()를 왜 꼭 오버라이딩해야 하는지를 정확히 이해해야 한다. 이번 글에서는 단순히 사용하는 수준을 넘어, Set 내부 구조와 해시 기반 탐색 방식, 그리고 대표 구현체들의 차이까지 정리해본다. 1. Set이란?Set은 자바 컬렉션 프레임워크에서 중복되지 않는 객체들의 집합을 의미한다.한 번 추가한 값은 다시 추가되지 않으며, 저장 순서를 보장하지 않는 것이 일반적이다. 대표적으로 HashSet, LinkedHashSet, TreeSet이 있다.중복 허용 X순서 보장 X (Tree..