AbstractCollection — Collection 인터페이스의 뼈대 구현
AbstractCollection — Collection 인터페이스의 뼈대 구현
Collection 인터페이스를 구현하는 노력을 최소화하기 위한 뼈대(skeletal) 구현을 제공하는 추상 클래스예요.
본문
시그니처
public abstract class AbstractCollection<E> extends Object
implements Collection<E>
타입 매개변수: E — 이 컬렉션의 요소 타입.
설명
이 클래스는 Collection 인터페이스의 뼈대 구현을 제공해요. 불변(unmodifiable) 컬렉션을 구현하려면 프로그래머는 이 클래스를 확장하고 iterator와 size 메서드만 구현하면 돼요 (iterator 메서드가 반환하는 iterator는 hasNext와 next를 구현해야 해요).
가변(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()— 이 컬렉션의 문자열 표현을 반환해요.