안녕하세요!
자바의 컬렉션 3탄! 오늘은 Set에 대해서 알아보겠습니다.
오늘은 아래 Map 컬렉션 내용을 보지 않으셨다면 보시는걸 추천드립니다.
아니다. 꼭 보세요! 내용이 상당히 비슷합니다.
[자바] 컬렉션(Collection) 2 - Map
안녕하세요!자바의 컬렉션 2탄! 오늘은 Map에 대해서 알아보겠습니다. 자료구조? 컬렉션?컬렉션을 알아보기 전에 자료구조라는 단어를 들어보셨을 텐데요 이는 프로그래밍 과정에서 데이터를
nnmmyy.tistory.com
자료구조? 컬렉션?
컬렉션을 알아보기 전에 자료구조라는 단어를 들어보셨을 텐데요 이는 프로그래밍 과정에서 데이터를 효율적으로 사용하기 위해 만들어진 것으로 배열, 리스트, 스택 등이 있습니다. 이 자료구조들을 사용하려 할 때 우리가 직접 구현해서 사용하기는 어렵고 귀찮기 때문에 자바에서 이 자료구조들을 구현하고 인터페이스화 시켜 개발자들이 사용할 수 있도록 제공하는 프레임워크를 컬렉션 이라고 합니다.
Set
Set은 중복을 허용하지 않는 것이 특징인 자료구조 입니다. 기본적으로 순서를 보장하지 않습니다.
HashSet
HashSet은 해시 테이블을 기반으로 한 Set의 구현체 입니다. 또한 내부적으로는 HashMap을 사용하는데요 HashMap의 특징과 완전히 똑같은데 HashMap의 특징은 키의 중복을 허용하지 않습니다. 바로 이 특징이 HashSet에 이용되는데요
HashMap의 키에 HashSet의 Value값을 저장하고 값으로는 더미 객체를 사용하게 됩니다. 그래서 set이 중복을 허용하지 않는 자료구조가 되는것이죠
LinkedHashSet
자 그러면 눈치채셨나요? LinkedHashSet은 LinkedHashMap을 사용해서 구현하는 겁니다. LinkedHashMap과 같은 특징을 가지고 있으면서 set처럼 동작하는것이죠. Set 구현체 중에서 삽입순서를 유지하는것이 특징입니다.
TreeSet
TreeSet또한 같습니다. TreeMap을 통해 구현하게 되며 값으로 오름차순 정렬되는것이 특징입니다.
오늘은 Set에 관련해서 알아보는 시간이었는데요
Map 컬렉션을 보고오셨다면 사실 Set은 거의 날로먹는거네요!
감사합니다.
'CS공부 > 자바' 카테고리의 다른 글
[자바] 컬렉션(Collection) 2 - Map (0) | 2025.01.05 |
---|---|
[자바] 제네릭 (Generic) (1) | 2024.12.30 |
[자바] 원시 타입 (Primitive Type) (1) | 2024.12.30 |
[자바] Object, equals, hashcode (1) | 2024.12.29 |
[자바] String, StringBuffer, StringBuilder (0) | 2024.12.29 |