JavaTM Platform
Standard Ed. 6

java.util
클래스 AbstractSequentialList<E>

java.lang.Object 
  상위를 확장 java.util.AbstractCollection <E>
      상위를 확장 java.util.AbstractList <E>
          상위를 확장 java.util.AbstractSequentialList<E>
모든 구현된 인터페이스:
Iterable <E>, Collection <E>, List <E>
직계의 기존의 서브 클래스:
LinkedList


public abstract class AbstractSequentialList<E>
extends AbstractList <E>

이 클래스는,List 인터페이스의 스켈리턴 구현을 제공해, 링크 리스트와 같은 「차례차례 액세스」데이터 기억역에 연동하는 이 인터페이스를 구현하는데 필요한 작업량을 최소한으로 억제합니다. 배열과 같은 랜덤 억세스 데이터를 취급하려면 , 이 클래스는 아니고 AbstractList 를 사용해 주세요.

이 클래스는 AbstractList 클래스와 대가 되는 것입니다. AbstractList 는 「랜덤 억세스」용의 메소드인 get(int index),set(int index, E element),add(int index, E element), 및 remove(int index) 를 리스트의 리스트 반복자의 상위에 구현합니다만, 이 클래스에서는 거꾸로 됩니다.

리스트를 구현하려면 , 이 클래스를 확장해,listIteratorsize 메소드의 구현을 제공합니다. 변경 불가능한 리스트를 구현하려면 , 리스트 반복자의 hasNext,next,hasPrevious,previous, 및 index 메소드를 구현합니다.

변경 가능한 리스트를 구현하려면 , 리스트 반복자의 set 메소드도 구현해 주세요. 가변 사이즈의 리스트를 구현하려면 , 리스트 반복자의 remove 메소드 및 add 메소드도 구현해 주세요.

Collection 인터페이스의 스펙으로 추천 되고 있도록(듯이), 일반적으로은, 인수 없음의 void 생성자 , 및 인수에 컬렉션을 취하는 생성자 을 제공해 주세요.

이 클래스는,Java Collections Framework 의 멤버입니다.

도입된 버젼:
1.2
관련 항목:
Collection , List , AbstractList , AbstractCollection

필드의 개요
 
클래스 java.util. AbstractList 로부터 상속된 필드
modCount
 
생성자 의 개요
protected AbstractSequentialList ()
          유일한 생성자 입니다.
 
메소드의 개요
 void add (int index, E  element)
          리스트내의 지정된 위치에, 지정된 요소를 삽입합니다 (임의의 오퍼레이션).
 boolean addAll (int index, Collection <? extends E > c)
          지정된 컬렉션내의 모든 요소를, 리스트의 지정된 위치에 삽입합니다 (임의의 오퍼레이션).
 E get (int index)
          리스트내의 지정된 위치에 있는 요소를 돌려줍니다.
 Iterator <E > iterator ()
          이 리스트내의 요소를 적절한 순서로 반복 처리 하는 반복자를 돌려줍니다.
abstract  ListIterator <E > listIterator (int index)
          이 리스트내의 요소를 적절한 순서로 반복 처리 하는 리스트 반복자를 돌려줍니다.
 E remove (int index)
          리스트내의 지정된 위치에 있는 요소를 삭제합니다 (임의의 오퍼레이션).
 E set (int index, E  element)
          리스트내의 지정된 위치에 있는 요소를, 지정된 요소에 옮겨놓습니다 (임의의 오퍼레이션).
 
클래스 java.util. AbstractList 로부터 상속된 메소드
add , clear , equals , hashCode , indexOf , lastIndexOf , listIterator , removeRange , subList
 
클래스 java.util. AbstractCollection 로부터 상속된 메소드
addAll , contains , containsAll , isEmpty , remove , removeAll , retainAll , size , toArray , toArray , toString
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 
인터페이스 java.util. List 로부터 상속된 메소드
addAll , contains , containsAll , isEmpty , remove , removeAll , retainAll , size , toArray , toArray
 

생성자 의 상세

AbstractSequentialList

protected AbstractSequentialList()
유일한 생성자 입니다. 서브 클래스의 생성자 에 의한 호출용으로, 일반적으로은 암묵적으로 불려 갑니다.

메소드의 상세

get

public E  get(int index)
리스트내의 지정된 위치에 있는 요소를 돌려줍니다.

이 구현은,listIterator(index) 를 사용해, 인덱스를 붙일 수 있었던 요소를 가리키는 리스트 반복자를 최초로 가져옵니다. 다음에,ListIterator.next 를 사용해 요소를 취득해, 그것을 돌려줍니다.

정의:
인터페이스 List <E > 내의 get
정의:
클래스 AbstractList <E > 내의 get
파라미터:
index - 반환되는 요소의 인덱스
반환값:
리스트내의 지정된 위치에 있는 요소
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

set

public E  set(int index,
             E  element)
리스트내의 지정된 위치에 있는 요소를, 지정된 요소에 옮겨놓습니다 (임의의 오퍼레이션).

이 구현은,listIterator(index) 를 사용해, 인덱스를 붙일 수 있었던 요소를 가리키는 리스트 반복자를 최초로 가져옵니다. 다음에,ListIterator.next 를 사용해 현재의 요소를 취득해, 그것을 ListIterator.set 로 옮겨놓습니다.

이 구현은, 리스트 반복자가 set 오퍼레이션을 구현하지 않는 경우에 UnsupportedOperationException 를 throw 합니다.

정의:
인터페이스 List <E > 내의 set
오버라이드(override):
클래스 AbstractList <E > 내의 set
파라미터:
index - 치환되는 요소의 인덱스
element - 지정된 위치에 포함되는 요소
반환값:
지정된 위치에 이전 있던 요소
예외:
UnsupportedOperationException - set 오퍼레이션이 이 리스트로 지원되지 않는 경우
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 리스트에 그 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 리스트가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 리스트에 그 요소를 추가할 수 없는 경우
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

add

public void add(int index,
                E  element)
리스트내의 지정된 위치에, 지정된 요소를 삽입합니다 (임의의 오퍼레이션). 그 위치와 그 이후에 요소가 있으면 그것들을 오른쪽으로 이동시켜, 각 요소의 인덱스에 1 을 더합니다.

이 구현은,listIterator(index) 를 사용해, 인덱스를 붙일 수 있었던 요소를 가리키는 리스트 반복자를 최초로 가져옵니다. 다음에,ListIterator.add 를 사용해, 지정된 요소를 삽입합니다.

이 구현은, 리스트 반복자가 add 오퍼레이션을 구현하지 않는 경우에 UnsupportedOperationException 를 throw 합니다.

정의:
인터페이스 List <E > 내의 add
오버라이드(override):
클래스 AbstractList <E > 내의 add
파라미터:
index - 지정의 요소가 삽입되는 위치의 인덱스
element - 삽입되는 요소
예외:
UnsupportedOperationException - add 오퍼레이션이 이 리스트로 지원되지 않는 경우
ClassCastException - 지정된 요소의 클래스가 원인으로, 이 리스트에 그 요소를 추가할 수 없는 경우
NullPointerException - 지정된 요소가 null 로, 이 리스트가 null 요소를 허용 하지 않는 경우
IllegalArgumentException - 지정된 요소가 있는 프로퍼티이 원인으로, 이 리스트에 그 요소를 추가할 수 없는 경우
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

remove

public E  remove(int index)
리스트내의 지정된 위치에 있는 요소를 삭제합니다 (임의의 오퍼레이션). 후속의 요소는 왼쪽으로 이동합니다 (인덱스치로부터 1 을 감산). 리스트로부터 삭제된 요소가 돌려주어집니다.

이 구현은,listIterator(index) 를 사용해, 인덱스를 붙일 수 있었던 요소를 가리키는 리스트 반복자를 최초로 가져옵니다. 다음에,ListIterator.remove 를 사용해, 지정된 요소를 삭제합니다.

이 구현은, 리스트 반복자가 remove 오퍼레이션을 구현하지 않는 경우에 UnsupportedOperationException 를 throw 합니다.

정의:
인터페이스 List <E > 내의 remove
오버라이드(override):
클래스 AbstractList <E > 내의 remove
파라미터:
index - 삭제되는 요소의 인덱스
반환값:
지정된 위치에 이전 있던 요소
예외:
UnsupportedOperationException - remove 오퍼레이션이 이 리스트로 지원되지 않는 경우
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

addAll

public boolean addAll(int index,
                      Collection <?  extends E > c)
지정된 컬렉션내의 모든 요소를, 리스트의 지정된 위치에 삽입합니다 (임의의 오퍼레이션). 그 위치와 그 이후에 요소가 있는 경우는, 그것들을 오른쪽으로 이동해, 각 요소의 인덱스에 1 을 더합니다. 새로운 요소는, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 리스트에 삽입됩니다. 오퍼레이션의 진행중에, 지정된 컬렉션이 변경되었을 경우의, 이 오퍼레이션의 동작은 정의되고 있지 않습니다. 즉, 지정된 컬렉션이 이 리스트로, 게다가 빈 상태(empty)이 아닌 경우에 일어납니다.

이 구현은, 지정된 컬렉션의 반복자를 가져옵니다. 또,listIterator(index) 를 사용해, 인덱스를 붙일 수 있었던 요소를 가리키는, 이 리스트의 리스트 반복자를 가져옵니다. 그 후로, 지정된 컬렉션을 반복해 조사해, 반복자로부터 취득한 요소를 리스트의 적절한 위치에 1 개씩 삽입합니다. 삽입에는 ListIterator.add 와 거기에 계속해, 추가된 요소를 스킵 하기 위해서 ListIterator.next 를 사용합니다.

이 구현은,listIterator 메소드가 돌려준 리스트 반복자가 add 오퍼레이션을 구현하지 않는 경우에 UnsupportedOperationException 를 throw 합니다.

정의:
인터페이스 List <E > 내의 addAll
오버라이드(override):
클래스 AbstractList <E > 내의 addAll
파라미터:
index - 지정된 컬렉션의 최초의 요소를 삽입하는 위치의 인덱스
c - 요소가 리스트에 추가되는 컬렉션
반환값:
이 호출의 결과, 이 리스트가 변경되었을 경우는 true
예외:
UnsupportedOperationException - addAll 오퍼레이션이 이 리스트로 지원되지 않는 경우
ClassCastException - 지정된 컬렉션이 있는 요소의 클래스가 원인으로, 이 리스트에 그 컬렉션을 추가할 수 없는 경우
NullPointerException - 지정된 컬렉션에 1 개 이상의 null 요소가 포함되어 있어 이 리스트가 null 요소를 허가하지 않는 경우, 또는 지정된 컬렉션이 null 의 경우
IllegalArgumentException - 지정된 컬렉션이 있는 요소가 있는 특성이 원인으로, 이 리스트에 그 컬렉션을 추가할 수 없는 경우
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

iterator

public Iterator <E > iterator()
이 리스트내의 요소를 적절한 순서로 반복 처리 하는 반복자를 돌려줍니다.

이 구현은, 리스트의 리스트 반복자를 돌려줄 뿐입니다.

정의:
인터페이스 Iterable <E > 내의 iterator
정의:
인터페이스 Collection <E > 내의 iterator
정의:
인터페이스 List <E > 내의 iterator
오버라이드(override):
클래스 AbstractList <E > 내의 iterator
반환값:
리스트내의 요소를 적절한 순서로 반복 처리 하는 반복자
관련 항목:
AbstractList.modCount

listIterator

public abstract ListIterator <E > listIterator(int index)
이 리스트내의 요소를 적절한 순서로 반복 처리 하는 리스트 반복자를 돌려줍니다.

정의:
인터페이스 List <E > 내의 listIterator
오버라이드(override):
클래스 AbstractList <E > 내의 listIterator
파라미터:
index - next 메소드의 호출에 의해 리스트 반복자로부터 반환되는 최초의 요소의 인덱스
반환값:
리스트내의 요소를 적절한 순서로 반복 처리 하는 리스트 반복자
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())
관련 항목:
AbstractList.modCount

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.