반응형
안녕하세요 코이킹입니다.
이번 포스트에서는 셋에 대해서 설명해보겠습니다.
1. 셋(Set)이란?
셋은 중복되지 않는 데이터의 모음을 저장하기 위한 자료구조입니다.
Set을 구현한 클래스로는 HashSet, LinkedHashSet, TreeSet 등이 있습니다.
2. HashSet
해시 셋은 HashMap의 Key값이 유일해야 한다는 특성을 이용하여 구현되었습니다.
따라서 HashMap의 특성과 장단점을 공유합니다.
1) 데이터 삽입
add메서드를 사용하여 데이터를 삽입 할 수 있습니다.
Set<String> set = new HashSet<String>();
set.add("HashSet-value-01");
set.add("HashSet-value-02");
set.add("HashSet-value-02"); // 중복된 값은 입력되지 않음.
set.add("HashSet-value-03");
set.add("HashSet-value-04");
2) 데이터 출력
for (String str : set) {
System.out.println("Set value : "+str);
}
3) 데이터 삭제
- 값을 지정해서 삭제
set.remove("HashSet-value-01");
- 모든 데이터 삭제
set.clear();
3. LinkedHashSet
링크드 해시셋은 링크드 해시맵(LinkedHashMap)의 특성을 공유합니다.
Set에 저장하는 각 데이터들의 순서가 중요한 경우에 사용됩니다.
※ 데이터의 삽입, 출력, 삭제는 HashSet의 메서드를 공유하므로 생략.
4. TreeSet
트리셋은 트리 맵(TreeMap)의 특징을 공유한다.
저장하는 각 데이터들의 순서가 중요하고, 저장될 데이터의 갯수가 많은 경우 사용합니다.
※ 데이터의 삽입, 출력, 삭제는 HashSet의 메서드를 공유하므로 생략.
※ 예제코드
https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_13_Set.java
※ qiita에 투고한 URL
반응형
'프로그래밍 > Java-문법정리' 카테고리의 다른 글
【OOP】01_객체・클래스・인스턴스 (0) | 2022.01.10 |
---|---|
【Java문법】예외처리 (0) | 2022.01.10 |
【Java문법】맵(Map) (0) | 2022.01.10 |
【Java문법】리스트(List) (0) | 2022.01.10 |
【Java문법】래퍼클래스 (0) | 2022.01.10 |
댓글