Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 공통원소 구하기
- 임시반장 정하기
- GitHub #Commit #BaekJoon
- array
- 뒤집은 소수
- java
- 등수구하기
- 두 배열 합치기
- 보이는 학생
- 연속부분수열
- 인프런
- 최대 길이
- Two Pointer
- 격자판
- 10991
- ArrayList
- 코테준비
- 알고리즘
- 자바
- 투 포인터
- 아스키코드
- 백준
- 10992
- 점수계산
- 배열
- 큰 수 출력하기
- 모든행과열대각선의합
- Pointer
- 누적 계산
- 가장 짧은 문자거리
Archives
- Today
- Total
ezhoon
Set - HashSet, TreeSet, LinkedHashSet 본문
Set 컬렉션
Set 컬렉션은 저장 순서가 유지되지 않습니다.
주로 객체의 중복을 제거할 때 사용합니다.
Set 인터페이스를 구현한 클래스로는 HashSet, TreeSet, LinkedHashSet이 있습니다.
주요 특징
- HashSet - 정렬을 해주지 않아 따로 정렬을 해줘야 한다.
- TreeSet - 오름차순으로 자동정렬이 된다.
- LinkedHashSet - 입력된 순서대로 데이터를 관리해준다.
표로 정리하면 아래와 같다.
클래스 | 특징 |
HashSet | 정렬이 필요없는 데이터를 저장한다. Set 중에 가장 성능이 좋다. |
TreeSet | 저장된 데이터 값에 따라 정렬된다 (오름차순) HashSet보다 느리다. |
LinkedHashSet | 저장된 순서에따라 값이 정렬된다. 셋 중 가장 느리다. |
Set의 가장 큰 장점은 중복을 자동으로 제거해줌과 동시에, 클래스에 따라 정렬까지 한 번에 해준다는 점이다.
Set 인터페이스의 공통적으로 사용 가능한 메서드들
기능 | 메소드 | 설명 |
추가 | boolean add(E e) | 객체를 저장 후 성공이면 true, 실패면 false 리턴 |
검색 | boolean contains (Object o) | 객체가 저장돼 있는지 여부 확인 |
검색 | boolean isEmpty() | 컬렉션이 비어있는지 확인 |
검색 | Iterator iterator() | 저장된 객체를 한 번씩 가져오는 반복자 리턴 |
검색 | int size() | 저장된 모든 객체 수 리턴 |
삭제 | void clear() | 저장된 모든 객체를 삭제 |
삭제 | boolean remove(Object o) | 주어진 객체를 삭제 |
// iIterator iterator() 예시
Set<String> set = new HashSet<String>();
Iterator<String> iterator = set.iterator();
Iterator의 메서드
타입 | 메소드 | 설명 |
boolean | hasNext() | 가져올 객체가 있다면 true, 없으면 false를 리턴 |
E | next() | 하나의 객체를 가져온다. |
void | remove() | 객체를 제거한다. |
예제 문제 풀이
2022.01.17 - [인프런_자바_알고리즘_기초] - [인프런] 01-06 중복 문자 제거
[인프런] 01-06 중복문자제거
문제 한 개의 문자열 입력 중복된 문자 제거 후 출력 각 문자는 원래 문자열의 순서를 유지할 것 ⚠️ 주의사항 문자열의 순서를 유지해야 하므로 HashSet으로 정렬하기는 어려울 것 같으니 다른
ezhoon.tistory.com
참고 블로그
'Java > 이론 및 사용방법' 카테고리의 다른 글
선택정렬 (0) | 2022.02.02 |
---|---|
Queue 주요 기능 정리 (0) | 2022.01.27 |
Stack 주요 기능 정리 (0) | 2022.01.26 |
Map - HashMap (0) | 2022.01.23 |
EOF이란 무엇인가? (0) | 2022.01.06 |
Comments