Set 인터페이스
- Set 인터페이스는 컬렉션 프레임워크에 속하는 인터페이스 중 하나다.
- 중복된 원소를 허용하지 않는다.
- 순서를 보장하지 않는다. (List는 순서가 보장된다.)
- 순서가 유지되지 않기 때문에 인덱스로 꺼내올 수 없으며, 그로 인해 반복자를 사용한다.
- 반복자(iterator) 는 인터페이스를 구현한 객체를 의미하며 이 객체는 Set 인터페이스의 iterator() 메서드를 호출해 객체를 얻을 수 있다. 아래는 iterator 인터페이스의 주요 메서드이다.
- hasNext() : 가져올 객체가 있으면 True를, 없으면 false를 리턴한다.
- next() : 컬렉션에서 하나의 객체를 가져온다.
- remove() : Set 컬렉션에서 객체를 제거한다.
[ Set 주요 메서드 ]
1. 객체 추가 기능
- add(E e) : 지정된 요소를 세트에 추가한다. 저장에 성공하면 true, 중복 객체를 저장하면 false를 리턴한다.
2. 객체 삭제 기능
- remove(Object o) : 지정된 객체를 삭제한다.
- clear() : 저장된 모든 객체를 삭제하낟.
3. 객체 검색 기능
- contains(Object o) : 지정된 개게가 저장되어 있는지 여부를 판단한다.
- size() : 세트에 포함된 요소의 개수를 반환한다.
- isEmpty() : 세트가 비어있는지 확인한다.
- iterator() : iterator를 반환한다.
HashSet
: HashSet은 Set 인터페이스를 구현한 해시 기반의 집합이다.
- 중복 허용하지 않음:
- HashSet은 중복된 원소를 허용하지 않는다. 이미 존재하는 원소를 추가하려고 하면 아무런 동작을 하지 않는다.
- 순서 없음:
- HashSet은 원소의 순서를 유지하지 않는다. 삽입 순서나 특정 기준에 따라 정렬되지 않는다.
- Null 허용:
- HashSet은 null 값을 허용한다. 한 세트 내에 하나의 null 값만 저장될 수 있다.
- 빠른 검색 성능:
- 해시 기반이기 때문에 검색, 추가, 삭제 연산에 있어서 상수 시간(O(1))에 근접한 성능을 제공한다.
예제
'LANG.. > JAVA' 카테고리의 다른 글
[객체지향] SOLID 설계원칙 (0) | 2024.02.02 |
---|---|
Map - HashMap (0) | 2024.01.26 |
Generic, Collection (1) | 2024.01.23 |
List - ArrayList, LinkedList (0) | 2024.01.23 |
StringBuffer/StringBuilder, BufferedReader/BufferedWriter (0) | 2024.01.19 |