본문 바로가기

LANG../JAVA

Set - HashSet

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 인터페이스를 구현한 해시 기반의 집합이다.

  1. 중복 허용하지 않음:
    • HashSet은 중복된 원소를 허용하지 않는다. 이미 존재하는 원소를 추가하려고 하면 아무런 동작을 하지 않는다.
  2. 순서 없음:
    • HashSet은 원소의 순서를 유지하지 않는다. 삽입 순서나 특정 기준에 따라 정렬되지 않는다.
  3. Null 허용:
    • HashSet은 null 값을 허용한다. 한 세트 내에 하나의 null 값만 저장될 수 있다.
  4. 빠른 검색 성능:
    • 해시 기반이기 때문에 검색, 추가, 삭제 연산에 있어서 상수 시간(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