AbstractCollection — Collection 인터페이스의 뼈대 구현

AbstractCollection — Collection 인터페이스의 뼈대 구현

Collection 인터페이스를 구현하는 노력을 최소화하기 위한 뼈대(skeletal) 구현을 제공하는 추상 클래스예요.

출처: Java API Reference

본문

시그니처

public abstract class AbstractCollection<E> extends Object
    implements Collection<E>

타입 매개변수: E — 이 컬렉션의 요소 타입.

설명

이 클래스는 Collection 인터페이스의 뼈대 구현을 제공해요. 불변(unmodifiable) 컬렉션을 구현하려면 프로그래머는 이 클래스를 확장하고 iteratorsize 메서드만 구현하면 돼요 (iterator 메서드가 반환하는 iterator는 hasNextnext를 구현해야 해요).

가변(modifiable) 컬렉션을 구현하려면 프로그래머는 추가로 이 클래스의 add 메서드(그렇지 않으면 UnsupportedOperationException을 던짐)를 오버라이드해야 하고, iterator 메서드가 반환하는 iterator가 추가로 remove 메서드를 구현해야 해요.

프로그래머는 보통 Collection 인터페이스 사양의 권장에 따라 void(무인자) 및 Collection 생성자를 제공해야 해요. 이 클래스의 각 비-추상 메서드에 대한 문서는 구현을 자세히 설명해요. 구현되는 컬렉션이 더 효율적인 구현을 허용한다면 각 메서드를 오버라이드할 수 있어요.

이 클래스는 Java Collections Framework의 구성원이에요.

주요 메서드

  • add(E e) — 이 컬렉션이 지정한 요소를 포함하도록 보장해요 (선택 연산).
  • addAll(Collection<? extends E> c) — 지정한 컬렉션의 모든 요소를 이 컬렉션에 추가해요 (선택 연산).
  • clear() — 이 컬렉션에서 모든 요소를 제거해요 (선택 연산).
  • contains(Object o) — 이 컬렉션이 지정한 요소를 포함하면 true를 반환해요.
  • containsAll(Collection<?> c) — 지정한 컬렉션의 모든 요소를 포함하면 true를 반환해요.
  • isEmpty() — 이 컬렉션에 요소가 없으면 true를 반환해요.
  • iterator() — 이 컬렉션의 요소에 대한 iterator를 반환해요.
  • remove(Object o) — 이 컬렉션에서 지정한 요소의 단일 인스턴스를 제거해요 (선택 연산).
  • size() — 이 컬렉션의 요소 수를 반환해요.
  • toString() — 이 컬렉션의 문자열 표현을 반환해요.

더 알아보기 (Learn more)