JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util
인터페이스 ListIterator

모든 슈퍼 인터페이스:
Iterator

public interface ListIterator
extends Iterator

리스트의 반복자에 의해, 프로그래머가 몇개의 방향으로 리스트를 더듬어, 반복 처리시로 리스트를 변경해, 반복자의 현재의 위치를 리스트로 취득할 수가 있습니다. ListIterator 에는 현재의 요소가 없습니다. 그커서 위치previous() 의 호출에 의해 돌려주어진 요소와next() 의 호출에 의해 돌려주어진 요소와의 사이에 항상 있습니다. 길이 n 의 리스트내에는 유효한 인덱스치 n+10 으로부터 n 까지의 사이에 있습니다 (어느 쪽의 값도 포함한다).

          Element(0)   Element(1)   Element(2)   ... Element(n)   
        ^            ^            ^            ^               ^
 Index: 0            1            2            3               n+1

remove() 메소드와 set(Object) 메소드는 커서 위치에 따라서는 정의되지 않습니다. 이러한 메소드는 next() 또는 previous() 의 호출에 의해 돌려주어진 마지막 요소를 처리하기 위해서 정의됩니다.

도입된 버젼:
1.2
관련 항목:
Collection , List , Iterator , Enumeration

메소드의 개요
 void add (Object  o)
          지정된 요소를 리스트에 삽입합니다 (임의의 오퍼레이션).
 boolean hasNext ()
          리스트를 순서 방향으로 더듬었을 때에, 리스트 반복자가 한층 더 요소를 가지고 있는 경우에 true 를 돌려줍니다.
 boolean hasPrevious ()
          리스트를 역방향으로 더듬었을 때에, 리스트 반복자가 한층 더 요소를 가지고 있는 경우에 true 를 돌려줍니다.
 Object next ()
          리스트내의 다음의 요소를 돌려줍니다.
 int nextIndex ()
          다음에 next 를 호출했을 때에 돌려주어지게 되는 요소의 인덱스를 돌려줍니다.
 Object previous ()
          리스트내의 직전의 요소를 돌려줍니다.
 int previousIndex ()
          다음에 previous 를 호출했을 때에 돌려주어지게 되는 요소의 인덱스를 돌려줍니다.
 void remove ()
          next 또는 previous 에 의해 돌려주어진 마지막 요소를 리스트로부터 삭제합니다 (임의의 오퍼레이션).
 void set (Object  o)
          next 또는 previous 에 의해 돌려주어진 마지막 요소를, 지정된 요소에 치환합니다 (임의의 오퍼레이션).
 

메소드의 상세

hasNext

public boolean hasNext()
리스트를 순서 방향으로 더듬었을 때에, 리스트 반복자가 한층 더 요소를 가지고 있는 경우에 true 를 돌려줍니다. 즉,next 의 호출이 예외를 슬로우 하는 일 없이 요소를 돌려주는 경우는 true 를 돌려줍니다.

정의:
인터페이스 Iterator 내의 hasNext
반환값:
리스트를 순서 방향으로 더듬었을 때에, 리스트 반복자가 한층 더 요소를 가지고 있는 경우는 true

next

public Object  next()
리스트내의 다음의 요소를 돌려줍니다. 이 메소드는 리스트를 반복하기 위해서 반복해 불려 가는 경우와 전후로 이동하기 위해서(때문에) previous 의 호출과 짜 합쳐지는 경우가 있습니다. nextprevious 의 호출을 교대로 실시하면, 반복해 같은 요소가 돌려주어집니다.

정의:
인터페이스 Iterator 내의 next
반환값:
리스트의 다음의 요소
예외:
NoSuchElementException - 반복 처리로 다음의 요소가 없는 경우

hasPrevious

public boolean hasPrevious()
리스트를 역방향으로 더듬었을 때에, 리스트 반복자가 한층 더 요소를 가지고 있는 경우에 true 를 돌려줍니다. 즉,previous 의 호출이 예외를 슬로우 하는 일 없이 요소를 돌려주는 경우는 true 를 돌려줍니다.

반환값:
리스트를 역방향으로 더듬었을 때에, 리스트 반복자가 한층 더 요소를 가지고 있는 경우는 true

previous

public Object  previous()
리스트내의 직전의 요소를 돌려줍니다. 이 메소드는 리스트를 후방에서 전방을 향해 반복하기 위해서 반복해 불려 가는 경우와 전후로 이동하기 위해서(때문에) next 의 호출과 짜 합쳐지는 경우가 있습니다. nextprevious 의 호출을 교대로 실시하면, 반복해 같은 요소가 돌려주어집니다.

반환값:
리스트의 전의 요소
예외:
NoSuchElementException - 반복 처리로 전의 요소가 없는 경우

nextIndex

public int nextIndex()
다음에 next 를 호출했을 때에 돌려주어지게 되는 요소의 인덱스를 돌려줍니다. 리스트 반복자가 리스트의 마지막에 있는 경우는 리스트의 사이즈를 돌려줍니다.

반환값:
다음에 next 를 호출했을 때에 돌려주어지게 되는 요소의 인덱스. 리스트 반복자가 리스트의 마지막에 있는 경우는 리스트의 사이즈

previousIndex

public int previousIndex()
다음에 previous 를 호출했을 때에 돌려주어지게 되는 요소의 인덱스를 돌려줍니다. 리스트 반복자가 리스트의 선두에 있는 경우는 -1 을 돌려줍니다.

반환값:
다음에 previous 를 호출했을 때에 돌려주어지게 되는 요소의 인덱스. 리스트 반복자가 리스트의 선두에 있는 경우는 -1

remove

public void remove()
next 또는 previous 에 의해 돌려주어진 마지막 요소를 리스트로부터 삭제합니다 (임의의 오퍼레이션). 이 호출은 next 또는 previous 가 호출할 것에 1 회만 실시할 수가 있습니다. 이 호출은 전회의 next 또는 previous 의 호출해 이후에 ListIterator.add 가 불려 가지 않은 경우에만 실시할 수가 있습니다.

정의:
인터페이스 Iterator 내의 remove
예외:
UnsupportedOperationException - 리스트의 반복자가 remove 오퍼레이션을 서포트하지 않는 경우
IllegalStateException - next 또는 previous 의 어느쪽이나 불려 가지 않은 경우, 혹은 전회의 next 또는 previous 의 호출의 나중에 remove 또는 add 가 불려 갔을 경우

set

public void set(Object  o)
next 또는 previous 에 의해 돌려주어진 마지막 요소를, 지정된 요소에 치환합니다 (임의의 오퍼레이션). 이 호출은 전회의 next 또는 previous 의 호출해 이후에 ListIterator.removeListIterator.add 의 어느쪽이나 불려 가지 않은 경우에만 실시할 수가 있습니다.

파라미터:
o - next 또는 previous 에 의해 돌려주어지는 마지막 요소와 치환되는 요소
예외:
UnsupportedOperationException - 리스트의 반복자가 set 오퍼레이션을 서포트하지 않는 경우
ClassCastException - 지정된 요소의 클래스를 위해서(때문에), 리스트에 요소를 추가할 수 없는 경우
IllegalArgumentException - 이 요소의 일부의 특성을 위해서(때문에), 리스트에 요소를 추가할 수 없는 경우
IllegalStateException - next 또는 previous 의 어느쪽이나 불려 가지 않은 경우, 혹은 전회의 next 또는 previous 의 호출의 나중에 remove 또는 add 가 불려 갔을 경우

add

public void add(Object  o)
지정된 요소를 리스트에 삽입합니다 (임의의 오퍼레이션). 요소는 next 에 의해 돌려주어지는 다음의 요소가 있으면 그 요소의 직전, 및 previous 에 의해 돌려주어지는 다음의 요소가 있으면 그 요소의 직후에 삽입됩니다. 리스트에 요소가 없는 경우는 새로운 요소가 리스트의 유일한 요소가 됩니다. 새로운 요소는 암묵의 커서의 전에 삽입됩니다. 후속의 next 의 호출은 영향을 받지 않고 후속의 previous 의 호출은 새로운 요소를 돌려줍니다. 이 호출은 nextIndex 또는 previousIndex 의 호출에 의해 돌려주어지는 값을 1 늘립니다.

파라미터:
o - 삽입되는 요소
예외:
UnsupportedOperationException - 리스트 반복자가 add 메소드를 서포트하고 있지 않는 경우
ClassCastException - 지정된 요소의 클래스를 위해서(때문에), 리스트에 요소를 추가할 수 없는 경우
IllegalArgumentException - 이 요소의 특성이 원인으로, 이 리스트에 추가할 수 없는 경우

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.