AbstractSequentialList — 순차 접근 List 뼈대 구현
AbstractSequentialList — 순차 접근 List 뼈대 구현
"순차 접근(sequential access)" 데이터 저장소(예: 연결 리스트)를 기반으로 List 인터페이스를 구현하는 노력을 최소화하기 위한 뼈대 구현을 제공하는 추상 클래스예요.
본문
시그니처
public abstract class AbstractSequentialList<E> extends AbstractList<E>
타입 매개변수: E — 이 리스트의 요소 타입. AbstractList의 하위 클래스예요.
설명
이 클래스는 순차 접근 데이터 저장소(예: 연결 리스트)를 기반으로 List 인터페이스의 뼈대 구현을 제공해요. 임의 접근 데이터(예: 배열)에는 이 클래스보다 AbstractList를 사용해야 해요.
이 클래스는 "임의 접근" 메서드(get(int index), set(int index, E element), add(int index, E element), remove(int index))를 리스트의 list iterator 위에 구현한다는 점에서 AbstractList 클래스의 반대예요 (list iterator를 임의 접근 메서드 위에 구현하는 대신).
리스트를 구현하려면 프로그래머는 이 클래스를 확장하고 listIterator와 size 메서드만 구현하면 돼요. 불변 리스트라면 list iterator의 hasNext, next, hasPrevious, previous, index 메서드만 구현하면 돼요. 가변 리스트라면 추가로 list iterator의 set 메서드를, 가변 크기 리스트라면 추가로 remove와 add 메서드를 구현해야 해요.
프로그래머는 보통 Collection 인터페이스 사양의 권장에 따라 void(무인자) 및 collection 생성자를 제공해야 해요. 이 클래스는 Java Collections Framework의 구성원이에요.
주요 메서드
add(int index, E element)— 지정한 요소를 이 리스트의 지정한 위치에 삽입해요 (선택 연산).addAll(int index, Collection<? extends E> c)— 지정한 컬렉션의 모든 요소를 이 리스트의 지정한 위치에 삽입해요 (선택 연산).get(int index)— 이 리스트에서 지정한 위치의 요소를 반환해요.set(int index, E element)— 이 리스트의 지정한 위치의 요소를 지정한 요소로 교체해요 (선택 연산).remove(int index)— 이 리스트에서 지정한 위치의 요소를 제거해요 (선택 연산).listIterator(int index)— 이 리스트의 적절한 위치에서 시작하는 list iterator를 반환해요.iterator()— 이 리스트의 요소에 대한 iterator를 반환해요.