Set<E> — 중복을 허용하지 않는 컬렉션

Set — 중복을 허용하지 않는 컬렉션

중복 요소를 포함하지 않는 컬렉션을 나타내는 인터페이스예요. 수학적 집합(set)을 모델링하며, 컬렉션에 이미 존재하는 요소를 추가하려 하면 추가되지 않아요.

출처: Java API Reference

본문

public interface Set<E> extends Collection<E>

Set은 중복 요소를 포함하지 않아요. 즉 어떤 e1, e2에 대해 e1.equals(e2)인 두 요소를 하나의 Set이 동시에 가질 수 없어요. Set은 최대 하나의 null 요소를 허용해요 (구현이 허용한다면).

주요 메서드

  • add(E e) — 지정된 요소가 아직 이 집합에 없으면 추가해요 (선택 연산).
  • remove(Object o) — 지정된 요소가 있으면 이 집합에서 제거해요 (선택 연산).
  • contains(Object o) — 이 집합이 지정된 요소를 포함하면 true를 반환해요.
  • containsAll(Collection<?> c) — 이 집합이 지정된 컬렉션의 모든 요소를 포함하면 true를 반환해요.
  • addAll(Collection<? extends E> c) — 지정된 컬렉션의 요소 중 이 집합에 없는 요소를 모두 추가해요.
  • retainAll(Collection<?> c) — 지정된 컬렉션에 포함된 요소만 남기고 나머지를 제거해요.
  • removeAll(Collection<?> c) — 이 집합에서 지정된 컬렉션에도 포함된 요소를 모두 제거해요.
  • clear() — 이 집합에서 모든 요소를 제거해요.
  • isEmpty() — 이 집합에 요소가 없으면 true를 반환해요.
  • size() — 이 집합의 요소 수를 반환해요.

집합의 질서(order)는 구현이 정하며, 요소가 추가된 순서와 다를 수 있어요. 이 인터페이스는 Java Collections Framework의 한 구성원이에요.

더 알아보기 (Learn more)