Set은 List처럼 데이터를 저장할 수 있는 인터페이스다.
그럼 List가 있는데 굳이 Set을 사용하는 이유가 뭘까?
중복 저장X
Set의 특징 중 하나는 데이터가 중복으로 저장되지 않는다는 것이다.
예를 들어 Set에 1,2,3이 들어가있고 지금 1을 넣어도 1,2,3,1이 아니라 1,2,3 이 그냥 그대로 있다!
순서가 없다
위 예시에서는 쉽게 이해하기 위해서 1,2,3을 해서 순서가 있는 것처럼 보일 수 있는데 Set에는 순서가 없다!
즉 이 말은 list.get()처럼 get을 할 수 없다는 의미
그럼 Set에 넣은 값을 어떻게 확인할 수 있을까?..
iterator()를 이용해서 set 값을 iterator에 담은 후 next()를 사용해서 꺼내온다!
값을 확인하고 싶을 때는 contains를 사용해서 확인 가능!
해시맵은 이 전 블로그에 정리를 했는데 그럼 HashSet은 뭘까?
Hash + Set 같은데 말 그대로다!
Set 인터페이스를 구현한 HashSet는 해시 함수를 사용하여 빠른 검색 및 삽입 연산을 제공한다. HashSet은 내부적으로 해시 테이블을 사용하여 요소를 저장하며, 이를 통해서 요소를 고유한 해시 코드로 매핑하여 빠르게 검색할 수 있도록 합니다.
HashSet은 중복을 허용하지 않는 Set의 구현 중 하나로, 중복 요소를 방지하면서 빠른 검색 및 삽입을 가능하게 한다!