JavaTM Platform
Standard Ed. 6

java.util.concurrent
클래스 CopyOnWriteArrayList<E>

java.lang.Object 
  상위를 확장 java.util.concurrent.CopyOnWriteArrayList<E>
형태 파라미터:
E - 컬렉션내에 존재하는 요소의 형태
모든 구현된 인터페이스:
Serializable , Cloneable , Iterable <E>, Collection <E>, List <E>, RandomAccess


public class CopyOnWriteArrayList<E>
extends Object
implements List <E>, RandomAccess , Cloneable , Serializable

기본으로 되는 배열의 새로운 카피를 작성하는 것으로써, 모든 추이적 조작 (add,set 등)이 구현되는 ArrayList 의 thread 세이프인 변수입니다.

일반적으로, 이것은 매우 효율이 나쁩니다만, traversal 조작이 변경을 수의 점으로써 큰폭으로 웃도는 경우에는, 대체 수단보다 효율이 좋은 경우가 있습니다. 또, 이것은, traversal를 동기 할 수 없는 경우나, 동기 하는 것을 바라지 않지만, 병행 thread간의 간섭을 배제할 필요가 있는 경우에 유용합니다. 「snapshot」스타일의 반복자 메소드는, 반복자의 작성 시점에서의 배열 상태에의 참조를 사용합니다. 이 배열이, 반복자의 유효기간내로 변경되는 것은 결코 없기 때문에, 간섭은 불가능하고, 반복자는 ConcurrentModificationException 를 throw 하지 않는 것이 보증됩니다.. 반복자는, 반복자의 작성 이후의 리스트에의 추가, 삭제, 또는 변경을 반영하지 않습니다. 반복자 자신에 대한 요소 변경 조작 (remove,set, 및 add)은, 지원되지 않습니다. 이러한 메소드는,UnsupportedOperationException 를 throw 합니다.

null 를 포함한 모든 요소가 허용 됩니다.

메모리 무결성 효과:다른 동시성 처리 컬렉션과 같이, 객체를 CopyOnWriteArrayList 에 배치하기 전의 thread내의 액션은, 다른 thread내의 CopyOnWriteArrayList 로부터 그 요소에 액세스 또는 삭제한 후의 액션보다 happen-before 입니다.

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

도입된 버젼:
1.5
관련 항목:
직렬화 된 형식

생성자 의 개요
CopyOnWriteArrayList ()
          빈 상태(empty)의 리스트를 작성합니다.
CopyOnWriteArrayList (Collection <? extends E > c)
          지정된 컬렉션의 요소가 포함되어 있는 리스트를, 요소가 컬렉션의 반복자에 의해 반환되는 순서로 작성합니다.
CopyOnWriteArrayList (E [] toCopyIn)
          지정된 배열의 카피를 보관 유지하는 리스트를 작성합니다.
 
메소드의 개요
 boolean add (E  e)
          리스트의 마지막으로, 지정된 요소를 추가합니다.
 void add (int index, E  element)
          리스트내의 지정된 위치로 지정된 요소를 삽입합니다.
 boolean addAll (Collection <? extends E > c)
          지정된 컬렉션내의 모든 요소를, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 리스트의 마지막에 추가합니다.
 boolean addAll (int index, Collection <? extends E > c)
          지정된 컬렉션내의 모든 요소를, 리스트의 지정된 위치에 삽입합니다.
 int addAllAbsent (Collection <? extends E > c)
          이 리스트에 포함되지 않은, 지정된 컬렉션내의 모든 요소를, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 이 리스트의 마지막에 추가합니다.
 boolean addIfAbsent (E  e)
          요소가 존재하지 않는 경우, 요소를 추가합니다.
 void clear ()
          리스트로부터 모든 요소를 삭제합니다.
 Object clone ()
          이 리스트의 shallow 복사를 돌려줍니다.
 boolean contains (Object  o)
          리스트로 지정된 요소가 있는 경우에 true 를 돌려줍니다.
 boolean containsAll (Collection <? > c)
          지정된 컬렉션의 모든 요소가 리스트에 포함되어 있는 경우에 true 를 돌려줍니다.
 boolean equals (Object  o)
          지정된 객체가 리스트와 동일한지 어떤지를 비교합니다.
 E get (int index)
          리스트내의 지정된 위치에 있는 요소를 돌려줍니다.
 int hashCode ()
          이 리스트의 해시 코드값를 돌려줍니다.
 int indexOf (E  e, int index)
          지정된 요소를 리스트내에서 index 로부터 검색해 최초로 검출된 위치의 인덱스를 돌려줍니다.
 int indexOf (Object  o)
          지정된 요소가 리스트내에서 최초로 검출된 위치의 인덱스를 돌려줍니다.
 boolean isEmpty ()
          리스트에 요소가 없는 경우에 true 를 돌려줍니다.
 Iterator <E > iterator ()
          이 리스트내의 요소를 적절한 순서로 반복 처리 하는 반복자를 돌려줍니다.
 int lastIndexOf (E  e, int index)
          지정된 요소를 리스트내에서 index 로부터 후 향해에 검색해 마지막에 검출된 위치의 인덱스를 돌려줍니다.
 int lastIndexOf (Object  o)
          지정된 요소가 리스트내에서 마지막에 검출된 위치의 인덱스를 돌려줍니다.
 ListIterator <E > listIterator ()
          이 리스트내의 요소를 적절한 순서로 반복 처리 하는 리스트 반복자를 돌려줍니다.
 ListIterator <E > listIterator (int index)
          리스트내의 요소를 적절한 순서로 반복 처리 하는, 리스트내의 지정된 위치로부터 개시하는 반복자를 돌려줍니다.
 E remove (int index)
          리스트의 지정된 위치에 있는 요소를 삭제합니다.
 boolean remove (Object  o)
          존재하는 경우는, 최초로 검출된 지정 요소를 이 리스트로부터 삭제합니다.
 boolean removeAll (Collection <? > c)
          리스트로부터, 지정된 컬렉션내에 보관 유지 떠날 수 있어 모든 요소를 삭제합니다.
 boolean retainAll (Collection <? > c)
          지정된 컬렉션내에 보관 유지되고 있는, 리스트내의 요소만을 보관 유지합니다.
 E set (int index, E  element)
          리스트의 지정된 위치에 있는 요소를, 지정된 요소로 옮겨놓습니다.
 int size ()
          리스트내에 있는 요소의 수를 돌려줍니다.
 List <E > subList (int fromIndex, int toIndex)
          이 리스트의,fromIndex (이것을 포함한다)로부터 toIndex (이것을 포함하지 않는다)의 범위의 부분의 뷰를 돌려줍니다.
 Object [] toArray ()
          리스트내의 모든 요소를, 최초의 요소로부터 마지막 요소로 하는 적절한 순서로 포함하고 있는 배열을 돌려줍니다.
<T> T[]
toArray (T[] a)
          리스트내의 모든 요소를, 최초의 요소로부터 마지막 요소로 하는 적절한 순서로 포함하고 있는 배열을 돌려줍니다.
 String toString ()
          이 리스트의 캐릭터 라인 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

CopyOnWriteArrayList

public CopyOnWriteArrayList()
빈 상태(empty)의 리스트를 작성합니다.


CopyOnWriteArrayList

public CopyOnWriteArrayList(Collection <?  extends E > c)
지정된 컬렉션의 요소가 포함되어 있는 리스트를, 요소가 컬렉션의 반복자에 의해 반환되는 순서로 작성합니다.

파라미터:
c - 최초로 보관 유지하고 있던 요소의 컬렉션
예외:
NullPointerException - 지정된 컬렉션이 null 인 경우

CopyOnWriteArrayList

public CopyOnWriteArrayList(E [] toCopyIn)
지정된 배열의 카피를 보관 유지하는 리스트를 작성합니다.

파라미터:
toCopyIn - 배열 (이 배열의 카피는 내부 배열로서 사용된다)
예외:
NullPointerException - 지정된 배열이 null 인 경우
메소드의 상세

size

public int size()
리스트내에 있는 요소의 수를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 size
정의:
인터페이스 List <E > 내의 size
반환값:
리스트내의 요소수

isEmpty

public boolean isEmpty()
리스트에 요소가 없는 경우에 true 를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 isEmpty
정의:
인터페이스 List <E > 내의 isEmpty
반환값:
리스트가 요소를 1 개나 보관 유지하고 있지 않는 경우는 true

contains

public boolean contains(Object  o)
리스트로 지정된 요소가 있는 경우에 true 를 돌려줍니다. 즉, 리스트에,(o==null ?  e==null : o.equals(e)) 가 되는 요소 e 가 1 개 이상 포함되어 있는 경우에만 true 를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 contains
정의:
인터페이스 List <E > 내의 contains
파라미터:
o - 리스트에 있을지 어떨지를 조사하는 요소
반환값:
리스트가, 지정된 요소를 보관 유지하고 있는 경우는 true

indexOf

public int indexOf(Object  o)
지정된 요소가 리스트내에서 최초로 검출된 위치의 인덱스를 돌려줍니다. 지정된 요소가 리스트에 없는 경우는 -1 을 돌려줍니다. 즉,(o==null ?  get(i) ==null : o.equals(get(i))) 가 되는, 최소의 인덱스 i 를 돌려줍니다. 그러한 인덱스가 존재하지 않는 경우는 -1 을 돌려줍니다.

정의:
인터페이스 List <E > 내의 indexOf
파라미터:
o - 검색하는 요소
반환값:
지정된 요소가 리스트내에서 최초로 검출된 위치의 인덱스. 그 요소가 리스트에 없는 경우는 -1

indexOf

public int indexOf(E  e,
                   int index)
지정된 요소를 리스트내에서 index 로부터 검색해 최초로 검출된 위치의 인덱스를 돌려줍니다. 요소가 발견되지 않는 경우는 -1 을 돌려줍니다. 즉,(i >= index && (e==null ?  get(i) ==null : e.equals(get(i)))) 를 채우는 최소의 인덱스치 i 를 돌려줍니다. 이러한 인덱스가 없는 경우는,-1 을 돌려줍니다.

파라미터:
e - 검색하는 요소
index - 검색 개시 위치의 인덱스
반환값:
요소가 리스트내에서 최초로 나타나는 인덱스 (리스트의 index 또는 그 이후의 위치). 요소가 발견되지 않는 경우는 -1
예외:
IndexOutOfBoundsException - 지정된 인덱스가 부의 경우

lastIndexOf

public int lastIndexOf(Object  o)
지정된 요소가 리스트내에서 마지막에 검출된 위치의 인덱스를 돌려줍니다. 지정된 요소가 리스트에 없는 경우는 -1 을 돌려줍니다. 즉,(o==null ?  get(i) ==null : o.equals(get(i))) 가 되는, 최대의 인덱스 i 를 돌려줍니다. 그러한 인덱스가 존재하지 않는 경우는 -1 을 돌려줍니다.

정의:
인터페이스 List <E > 내의 lastIndexOf
파라미터:
o - 검색하는 요소
반환값:
지정된 요소가 리스트내에서 마지막에 검출된 위치의 인덱스. 그 요소가 리스트에 없는 경우는 -1

lastIndexOf

public int lastIndexOf(E  e,
                       int index)
지정된 요소를 리스트내에서 index 로부터 후 향해에 검색해 마지막에 검출된 위치의 인덱스를 돌려줍니다. 요소가 발견되지 않는 경우는 -1 을 돌려줍니다. 즉,(i >= index && (e==null ?  get(i) ==null : e.equals(get(i)))) 를 채우는 최대의 인덱스치 i 를 돌려줍니다. 이러한 인덱스가 없는 경우는,-1 을 돌려줍니다.

파라미터:
e - 검색하는 요소
index - 역방향의 검색 개시 위치의 인덱스
반환값:
요소가 리스트내에서 마지막에 나타나는 인덱스 (리스트의 index 이전의 위치). 요소가 발견되지 않는 경우는 -1
예외:
IndexOutOfBoundsException - 지정된 인덱스가, 이 리스트의 현재의 사이즈에 동일한가 그것보다 큰 경우

clone

public Object  clone()
이 리스트의 shallow 복사를 돌려줍니다. 요소 자체는 카피되지 않습니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
이 리스트의 복제
관련 항목:
Cloneable

toArray

public Object [] toArray()
리스트내의 모든 요소를, 최초의 요소로부터 마지막 요소로 하는 적절한 순서로 포함하고 있는 배열을 돌려줍니다.

반환되는 배열에의 참조를 리스트가 유지하지 않는다고 하는 점으로써, 이 배열은 안전합니다. 즉, 이 메소드는 새로운 배열을 할당할 필요가 있습니다. 이 때문에, 호출측은, 반환된 배열을 자유롭게 변경할 수 있습니다.

메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다.

정의:
인터페이스 Collection <E > 내의 toArray
정의:
인터페이스 List <E > 내의 toArray
반환값:
세트내의 모든 요소를 보관 유지하고 있는 배열
관련 항목:
Arrays.asList(Object[])

toArray

public <T> T[] toArray(T[] a)
리스트내의 모든 요소를, 최초의 요소로부터 마지막 요소로 하는 적절한 순서로 포함하고 있는 배열을 돌려줍니다. 반환되는 배열의 실행시의 형태는, 지정된 배열의 형태가 됩니다. 지정된 배열에 리스트가 들어가는 경우는, 그 배열에 돌려주어집니다. 그 이외의 경우는, 지정된 배열의 실행시의 형태와 리스트의 사이즈를 사용해 새로운 배열을 할당할 수 있습니다.

리스트가 지정된 배열에 들어가, 그 배열에 한층 더 여유가 있는 경우 (즉, 배열이 리스트보다 많은 요소를 가지는 경우), 그 배열내에서 리스트의 끝보다 나머지의 요소는 null 로 설정됩니다. 이것은, 호출측이 이 리스트에 null 요소가 포함되지 않은 것을 알고 있는 경우에는, 이 리스트의 길이를 판정하는데 이용할 수 있습니다.

toArray() 메소드와 같이, 이 메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다. 게다가 이 메소드에서는, 출력 배열의 실행시의 형태를 정확하게 제어할 수 있기 (위해)때문에, 환경에 따라서는 할당의 수고를 억제할 수가 있습니다.

x 가, 캐릭터 라인만으로부터 되는 리스트인 것을 알 수 있고 있으면(자) 가정합니다. 다음의 코드를 사용하면(자), 새롭게 할당할 수 있었던 String 의 배열에 리스트를 덤프 할 수 있습니다.

String[] y = x.toArray(new String[0]);
toArray(new Object[0]) 는, 기능의 점으로써 toArray() 와 동일합니다.

정의:
인터페이스 Collection <E > 내의 toArray
정의:
인터페이스 List <E > 내의 toArray
파라미터:
a - 배열이 충분한 크기를 가지는 경우는, 리스트의 요소가 포함되는 배열. 그렇지 않은 경우는, 요소를 포함하기 위해서 같은 실행시의 형태의 새로운 배열을 할당할 수 있다
반환값:
세트내의 모든 요소를 보관 유지하고 있는 배열
예외:
ArrayStoreException - 지정된 배열의 실행시의 형태가, 리스트내의 각 요소의 실행시의 형태의 슈퍼타입이 아닌 경우
NullPointerException - 지정된 배열이 null 인 경우

get

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

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

set

public E  set(int index,
             E  element)
리스트의 지정된 위치에 있는 요소를, 지정된 요소로 옮겨놓습니다.

정의:
인터페이스 List <E > 내의 set
파라미터:
index - 치환되는 요소의 인덱스
element - 지정된 위치에 포함되는 요소
반환값:
지정된 위치에 이전 있던 요소
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

add

public boolean add(E  e)
리스트의 마지막으로, 지정된 요소를 추가합니다.

정의:
인터페이스 Collection <E > 내의 add
정의:
인터페이스 List <E > 내의 add
파라미터:
e - 리스트에 추가되는 요소
반환값:
true (Collection.add(E) 로 지정되었을 경우와 같이)

add

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

정의:
인터페이스 List <E > 내의 add
파라미터:
index - 지정의 요소가 삽입되는 위치의 인덱스
element - 삽입되는 요소
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

remove

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

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

remove

public boolean remove(Object  o)
존재하는 경우는, 최초로 검출된 지정 요소를 이 리스트로부터 삭제합니다. 리스트에 그 요소가 없는 경우는, 변경되지 않습니다. 즉,(o==null ?  get(i) ==null : o.equals(get(i))) 가 되는, 최소의 인덱스치 i 를 가지는 요소를 삭제합니다 (그러한 요소가 존재하는 경우). 지정된 요소가 이 리스트에 포함되어 있었을 경우, 즉, 호출의 결과로서 이 리스트가 변경되었을 경우에 true 를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 remove
정의:
인터페이스 List <E > 내의 remove
파라미터:
o - 리스트로부터 삭제되는 요소 (그 요소가 존재하는 경우)
반환값:
리스트가, 지정된 요소를 보관 유지하고 있는 경우는 true

addIfAbsent

public boolean addIfAbsent(E  e)
요소가 존재하지 않는 경우, 요소를 추가합니다.

파라미터:
e - 리스트에 추가되는 요소 (요소가 존재하지 않는 경우)
반환값:
요소가 추가되었을 경우는 true

containsAll

public boolean containsAll(Collection <? > c)
지정된 컬렉션의 모든 요소가 리스트에 포함되어 있는 경우에 true 를 돌려줍니다.

정의:
인터페이스 Collection <E > 내의 containsAll
정의:
인터페이스 List <E > 내의 containsAll
파라미터:
c - 이 리스트에 있을지 어떨지를 조사하는 컬렉션
반환값:
지정된 컬렉션의 모든 요소가 리스트에 포함되어 있는 경우는 true
예외:
NullPointerException - 지정된 컬렉션이 null 인 경우
관련 항목:
contains(Object)

removeAll

public boolean removeAll(Collection <? > c)
리스트로부터, 지정된 컬렉션내에 보관 유지 떠날 수 있어 모든 요소를 삭제합니다. 이것은, 내부에 일시 배열이 필요하게 되기 (위해)때문에, 이 클래스내에서 특히 부하의 큰 동작입니다.

정의:
인터페이스 Collection <E > 내의 removeAll
정의:
인터페이스 List <E > 내의 removeAll
파라미터:
c - 이 리스트로부터 삭제되는 요소를 포함한 컬렉션
반환값:
이 호출의 결과, 이 리스트가 변경되었을 경우는 true
예외:
ClassCastException - 이 리스트의 요소의 클래스가 지정된 컬렉션과 호환이 아닌 경우 (생략 가능)
NullPointerException - 이 리스트내에 null 요소가 포함되어 지정된 컬렉션이 null 요소를 허가하지 않는 경우 (생략 가능). 또는 지정된 컬렉션이 null 의 경우
관련 항목:
remove(Object)

retainAll

public boolean retainAll(Collection <? > c)
지정된 컬렉션내에 보관 유지되고 있는, 리스트내의 요소만을 보관 유지합니다. 즉, 지정된 컬렉션에 포함되어 있지 않은 모든 요소를 이 리스트로부터 삭제합니다.

정의:
인터페이스 Collection <E > 내의 retainAll
정의:
인터페이스 List <E > 내의 retainAll
파라미터:
c - 이 리스트로 보관 유지되는 요소를 포함한 컬렉션
반환값:
이 호출의 결과, 이 리스트가 변경되었을 경우는 true
예외:
ClassCastException - 이 리스트의 요소의 클래스가 지정된 컬렉션과 호환이 아닌 경우 (생략 가능)
NullPointerException - 이 리스트내에 null 요소가 포함되어 지정된 컬렉션이 null 요소를 허가하지 않는 경우 (생략 가능). 또는 지정된 컬렉션이 null 의 경우
관련 항목:
remove(Object)

addAllAbsent

public int addAllAbsent(Collection <?  extends E > c)
이 리스트에 포함되지 않은, 지정된 컬렉션내의 모든 요소를, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 이 리스트의 마지막에 추가합니다.

파라미터:
c - 리스트에 추가되는 요소를 포함한 컬렉션
반환값:
추가되는 요소의 수
예외:
NullPointerException - 지정된 컬렉션이 null 인 경우
관련 항목:
addIfAbsent(Object)

clear

public void clear()
리스트로부터 모든 요소를 삭제합니다. 이 호출이 돌아오면(자), 이 리스트는 비웁니다.

정의:
인터페이스 Collection <E > 내의 clear
정의:
인터페이스 List <E > 내의 clear

addAll

public boolean addAll(Collection <?  extends E > c)
지정된 컬렉션내의 모든 요소를, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 리스트의 마지막에 추가합니다.

정의:
인터페이스 Collection <E > 내의 addAll
정의:
인터페이스 List <E > 내의 addAll
파라미터:
c - 리스트에 추가되는 요소를 포함한 컬렉션
반환값:
이 호출의 결과, 이 리스트가 변경되었을 경우는 true
예외:
NullPointerException - 지정된 컬렉션이 null 인 경우
관련 항목:
add(Object)

addAll

public boolean addAll(int index,
                      Collection <?  extends E > c)
지정된 컬렉션내의 모든 요소를, 리스트의 지정된 위치에 삽입합니다. 그 위치와 그 이후에 요소가 있는 경우는, 그것들을 오른쪽으로 이동해, 각 요소의 인덱스에 1 을 더합니다. 새로운 요소는, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 리스트에 삽입됩니다.

정의:
인터페이스 List <E > 내의 addAll
파라미터:
index - 지정된 컬렉션으로부터 최초의 요소를 삽입하는 위치의 인덱스
c - 리스트에 추가되는 요소를 포함한 컬렉션
반환값:
이 호출의 결과, 이 리스트가 변경되었을 경우는 true
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())
NullPointerException - 지정된 컬렉션이 null 인 경우
관련 항목:
add(int, Object)

toString

public String  toString()
이 리스트의 캐릭터 라인 표현을 돌려줍니다. 캐릭터 라인 표현은, 리스트의 요소의 캐릭터 라인 표현을 그 반복자가 돌려준 순서에 꺽쇄묶음 ("[]")으로 둘러싸 가리키는 리스트입니다. 인접하는 요소는, 문자 ", " (칸마와 공백 문자)에 의해 단락지어집니다. 각 요소는,String.valueOf(Object) 를 실행했는지와 같이 캐릭터 라인에 변환됩니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 리스트의 캐릭터 라인 표현

equals

public boolean equals(Object  o)
지정된 객체가 리스트와 동일한지 어떤지를 비교합니다. 지정된 객체가 이 객체와 같은 객체인 경우, 또는 지정된 객체가 List 이기도 해, 지정된 리스트로 iterator 에 의해 반환되는 요소의 순서가 이 리스트로 반복자에 의해 반환되는 순서와 같은 경우,true 를 돌려줍니다. 이 2 개의 순서는, 같은 길이를 가져, 순서내의 같은 위치에 있는 대응하는 요소가 「동일하다」경우, 같은 것이라고 보여집니다. 2 개의 요소 e1e2 는,(e1==null ? e2==null :e1.equals(e2)) 의 경우는 동일하다고 보여집니다.

정의:
인터페이스 Collection <E > 내의 equals
정의:
인터페이스 List <E > 내의 equals
오버라이드(override):
클래스 Object 내의 equals
파라미터:
o - 리스트와 동일한지 어떤지를 비교하는 객체
반환값:
지정된 객체가 이 리스트와 동일한 경우는 true
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 리스트의 해시 코드값를 돌려줍니다.

이 구현은,List.hashCode() 내의 정의를 사용합니다.

정의:
인터페이스 Collection <E > 내의 hashCode
정의:
인터페이스 List <E > 내의 hashCode
오버라이드(override):
클래스 Object 내의 hashCode
반환값:
리스트의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

iterator

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

반환되는 반복자는, 반복자의 구축시의 리스트 상태의 snapshot를 제공합니다. 반복자의 traversal중에 동기화는 필요 없습니다. 반복자는,remove 메소드를 지원하지 않습니다.

정의:
인터페이스 Iterable <E > 내의 iterator
정의:
인터페이스 Collection <E > 내의 iterator
정의:
인터페이스 List <E > 내의 iterator
반환값:
리스트내의 요소를 적절한 순서로 반복 처리 하는 반복자

listIterator

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

반환되는 반복자는, 반복자의 구축시의 리스트 상태의 snapshot을 제공합니다. 반복자의 traversal중에 동기화는 필요 없습니다. 반복자는,remove,set, 또는 add 메소드를 지원하지 않습니다.

정의:
인터페이스 List <E > 내의 listIterator
반환값:
리스트내의 요소를 적절한 순서로 반복 처리 하는 리스트 반복자

listIterator

public ListIterator <E > listIterator(int index)
리스트내의 요소를 적절한 순서로 반복 처리 하는, 리스트내의 지정된 위치로부터 개시하는 반복자를 돌려줍니다. 지정된 인덱스는,next 의 최초의 호출에 의해 반환되는 최초의 요소를 나타냅니다. previous 의 최초의 호출은, 지정된 인덱스로부터 1 을 뺀 값의 인덱스를 가지는 요소를 돌려줍니다.

반환되는 반복자는, 반복자의 구축시의 리스트 상태의 snapshot를 제공합니다. 반복자의 traversal중에 동기화는 필요 없습니다. 반복자는,remove,set, 또는 add 메소드를 지원하지 않습니다.

정의:
인터페이스 List <E > 내의 listIterator
파라미터:
index - 리스트 반복자로부터 (next 메소드 호출에 의해) 반환되는 최초의 요소의 인덱스
반환값:
리스트내의 요소를 적절한 순서로 반복 처리 하는, 리스트내의 지정된 위치로부터 개시하는 리스트 반복자
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())

subList

public List <E > subList(int fromIndex,
                       int toIndex)
이 리스트의,fromIndex (이것을 포함한다)로부터 toIndex (이것을 포함하지 않는다)의 범위의 부분의 뷰를 돌려줍니다. 반환되는 리스트는 이 리스트에 연동하고 있기 (위해)때문에, 반환되는 리스트내에서의 변경은 이 리스트에 반영되어 이 리스트내에서의 변경은 반환되는 리스트에 반영됩니다. 변경 조작은 지원되고 있습니다만, CopyOnWriteArrayLists 에서는 그다지 도움이 되지 않습니다.

배킹 리스트 (즉, 이 리스트)의 구조가, 반환된 리스트를 경유하지 않고 로 변경되었을 경우, 이 메소드로 반환된 리스트의 시멘틱스는 보증되지 않습니다. 구조의 변경이란, 리스트의 사이즈가 바뀌는 것 같은 변경이나, 진행중의 반복 처리가 부정한 결과에 끝나는 것 같은 변경입니다.

정의:
인터페이스 List <E > 내의 subList
파라미터:
fromIndex - subList 의 하단점 (이것을 포함한다)
toIndex - subList 의 상단점 (이것을 포함하지 않는다)
반환값:
이 리스트내의 지정된 범위의 뷰
예외:
IndexOutOfBoundsException - 단 점의 인덱스치가 부정한 경우 (fromIndex < 0 || toIndex > size || fromIndex > toIndex)

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 도 참조해 주세요.