JavaTM Platform
Standard Ed. 6

java.util
클래스 LinkedList<E>

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


public class LinkedList<E>
extends AbstractSequentialList <E>
implements List <E>, Deque <E>, Cloneable , Serializable

List 인터페이스의 링크 리스트의 구현입니다. 리스트의 임의의 오퍼레이션을 모두 구현해,null 를 포함해 모든 요소를 허가합니다. List 인터페이스를 구현하는 것 외에,LinkedList 클래스는, 리스트의 첨단 및 끝에 있는 요소를 취득 및 삭제하거나 첨단 및 끝에 요소를 삽입하거나 하는 메소드 (get,remove,insert)를 제공합니다. 이러한 오퍼레이션을 사용하면(자), 링크 리스트를 스택,, 또는 쌍방향 큐 로서 사용할 수 있게 됩니다.

이 클래스는 Deque 인터페이스를 구현하고 있어,add,poll 에 대해서 선입선출의 큐 오퍼레이션을 제공하는 것 외에 그 외의 스택 오퍼레이션이나 양단 큐 오퍼레이션도 제공합니다.

모든 오퍼레이션은, 이중 링크 리스트의 경우에 예기 되는 대로의 동작을 합니다. 리스트를 인덱스로 처리하는 오퍼레이션은, 리스트의 첨단 또는 끝 가운데, 지정한 인덱스에 가까운 (분)편으로부터 리스트를 횡단(traverse) 합니다.

이 구현은 동기화 되지 않습니다. 복수의 thread가 동시에 링크 리스트에 액세스 해, 그러한 적어도 1 개(살)이 구조적으로 리스트를 변경했을 경우에는, 외부에서 동기를 잡을 필요가 있습니다. 구조적인 변경과는 1 개 이상의 요소를 추가 또는 삭제하는 모든 처리입니다. 요소의 값만을 변경하는 처리는, 구조적인 변경이 아닙니다. 일반적으로, 리스트의 동기를 잡으려면 , 리스트를 자연스럽게 캡슐화하는 객체로 동기를 잡습니다. 이런 종류의 객체가 없는 경우에는,Collections.synchronizedList 메소드를 사용해 리스트를 「랩」할 필요가 있습니다. 이것은, 리스트에의 우발적인 비동기 액세스를 막기 위해서(때문에), 작성시에 실시하는 것이 최적입니다.

List list = Collections.synchronizedList(new LinkedList(...));

이 클래스의 iteratorlistIterator 메소드에 의해 반환되는 반복자는, 「fail-fast」입니다. 반복자의 작성 후에, 반복자 자체의 remove 또는 add 메소드 이외 방법으로 리스트가 구조적으로 변경되면(자), 반복자는 ConcurrentModificationException 를 throw 합니다. 이와 같이, 병행해 변경을 하면(자), 반복자는, 장래의 예측할 수 없는 시점에 있어 예측할 수 없는 동작이 발생하는 위험을 회피하기 위해서, 즉시 한편 솜씨 자주(잘) 예외를 throw 합니다.

일반적으로, 비동기의 병행 변경이 있는 경우, 확실한 보증을 실시하는 것은 불가능해서, 반복자의 fail-fast의 동작을 보증할 수 없습니다. fail-fast 반복자는 최선 노력 원칙에 근거해,ConcurrentModificationException 를 throw 합니다. 따라서, 정확을 기하기 위해서 이 예외에 의존하는 프로그램을 쓰는 것은 잘못입니다. 「반복자의 fail-fast의 동작은 버그를 검출하기 위해서 사용해야 합니다」.

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

도입된 버젼:
1.2
관련 항목:
List , ArrayList , Vector , 직렬화 된 형식

필드의 개요
 
클래스 java.util. AbstractList 로부터 상속된 필드
modCount
 
생성자 의 개요
LinkedList ()
          빈 상태(empty)의 리스트를 작성합니다.
LinkedList (Collection <? extends E > c)
          지정된 컬렉션의 요소가 포함되어 있는 리스트를, 요소가 컬렉션의 반복자에 의해 반환되는 순서로 작성합니다.
 
메소드의 개요
 boolean add (E  e)
          리스트의 마지막으로, 지정된 요소를 추가합니다.
 void add (int index, E  element)
          리스트내의 지정된 위치로 지정된 요소를 삽입합니다.
 boolean addAll (Collection <? extends E > c)
          지정된 컬렉션내의 모든 요소를, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 리스트의 마지막에 추가합니다.
 boolean addAll (int index, Collection <? extends E > c)
          지정된 컬렉션내의 모든 요소를, 리스트의 지정된 위치에 삽입합니다.
 void addFirst (E  e)
          리스트의 선두에, 지정된 요소를 삽입합니다.
 void addLast (E  e)
          리스트의 마지막으로, 지정된 요소를 추가합니다.
 void clear ()
          리스트로부터 모든 요소를 삭제합니다.
 Object clone ()
          LinkedList 의 shallow 복사를 돌려줍니다.
 boolean contains (Object  o)
          리스트로 지정된 요소가 있는 경우에 true 를 돌려줍니다.
 Iterator <E > descendingIterator ()
          이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자를 돌려줍니다.
 E element ()
          이 리스트의 선두 (최초의 요소)를 가져옵니다만, 삭제는 하지 않습니다.
 E get (int index)
          리스트내의 지정된 위치에 있는 요소를 돌려줍니다.
 E getFirst ()
          리스트내의 최초의 요소를 돌려줍니다.
 E getLast ()
          리스트내의 마지막 요소를 돌려줍니다.
 int indexOf (Object  o)
          지정된 요소가 리스트내에서 최초로 검출된 위치의 인덱스를 돌려줍니다.
 int lastIndexOf (Object  o)
          지정된 요소가 리스트내에서 마지막에 검출된 위치의 인덱스를 돌려줍니다.
 ListIterator <E > listIterator (int index)
          리스트내의 지정된 위치에서 시작되는, 리스트내의 요소를 적절한 순서로 반복하는 리스트 반복자를 돌려줍니다.
 boolean offer (E  e)
          지정된 요소를 이 리스트의 말미 (마지막 요소)에 추가합니다.
 boolean offerFirst (E  e)
          리스트의 선두에, 지정된 요소를 삽입합니다.
 boolean offerLast (E  e)
          리스트의 말미에, 지정된 요소를 삽입합니다.
 E peek ()
          이 리스트의 선두 (최초의 요소)를 가져옵니다만, 삭제는 하지 않습니다.
 E peekFirst ()
          리스트의 최초의 요소를 가져옵니다만, 삭제하지 않습니다.
 E peekLast ()
          리스트의 마지막 요소를 가져옵니다만, 삭제하지 않습니다.
 E poll ()
          이 리스트의 선두 (최초의 요소) 취득해, 삭제합니다.
 E pollFirst ()
          리스트의 최초의 요소를 취득 및 삭제합니다.
 E pollLast ()
          리스트의 마지막 요소를 취득 및 삭제합니다.
 E pop ()
          이 리스트가 나타내는 스택으로부터 요소를 팝 합니다.
 void push (E  e)
          이 리스트가 나타내는 스택상에 요소를 푸쉬 합니다.
 E remove ()
          이 리스트의 선두 (최초의 요소) 취득해, 삭제합니다.
 E remove (int index)
          리스트의 지정된 위치에 있는 요소를 삭제합니다.
 boolean remove (Object  o)
          지정된 요소가 이 리스트에 있으면, 그 최초의 것을 리스트로부터 삭제합니다.
 E removeFirst ()
          리스트로부터 최초의 요소를 삭제해 돌려줍니다.
 boolean removeFirstOccurrence (Object  o)
          이 리스트내에서 최초로 검출된, 지정된 요소를 삭제합니다 (리스트를 선두로부터 말미의 방향으로 횡단(traverse) 했을 경우).
 E removeLast ()
          리스트로부터 마지막 요소를 삭제해 돌려줍니다.
 boolean removeLastOccurrence (Object  o)
          이 리스트내에서 마지막에 검출된, 지정된 요소를 삭제합니다 (리스트를 선두로부터 말미의 방향으로 횡단(traverse) 했을 경우).
 E set (int index, E  element)
          리스트의 지정된 위치에 있는 요소를, 지정된 요소로 옮겨놓습니다.
 int size ()
          리스트내에 있는 요소의 수를 돌려줍니다.
 Object [] toArray ()
          리스트내의 모든 요소를 적절한 순서로 (최초의 요소로부터 마지막 요소에) 포함하고 있는 배열을 돌려줍니다.
<T> T[]
toArray (T[] a)
          리스트내의 모든 요소를 적절한 순서로 (최초의 요소로부터 마지막 요소에) 포함하고 있는 배열을 돌려줍니다.
 
클래스 java.util. AbstractSequentialList 로부터 상속된 메소드
iterator
 
클래스 java.util. AbstractList 로부터 상속된 메소드
equals , hashCode , listIterator , removeRange , subList
 
클래스 java.util. AbstractCollection 로부터 상속된 메소드
containsAll , isEmpty , removeAll , retainAll , toString
 
클래스 java.lang. Object 로부터 상속된 메소드
finalize , getClass , notify , notifyAll , wait , wait , wait
 
인터페이스 java.util. List 로부터 상속된 메소드
containsAll , equals , hashCode , isEmpty , iterator , listIterator , removeAll , retainAll , subList
 
인터페이스 java.util. Deque 로부터 상속된 메소드
iterator
 

생성자 의 상세

LinkedList

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


LinkedList

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

파라미터:
c - 요소가 리스트에 배치되는 컬렉션
예외:
NullPointerException - 지정된 컬렉션이 null 인 경우
메소드의 상세

getFirst

public E  getFirst()
리스트내의 최초의 요소를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 getFirst
반환값:
리스트내의 최초의 요소
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우

getLast

public E  getLast()
리스트내의 마지막 요소를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 getLast
반환값:
리스트내의 마지막 요소
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우

removeFirst

public E  removeFirst()
리스트로부터 최초의 요소를 삭제해 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 removeFirst
반환값:
리스트로부터의 최초의 요소
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우

removeLast

public E  removeLast()
리스트로부터 마지막 요소를 삭제해 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 removeLast
반환값:
리스트로부터의 마지막 요소
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우

addFirst

public void addFirst(E  e)
리스트의 선두에, 지정된 요소를 삽입합니다.

정의:
인터페이스 Deque <E > 내의 addFirst
파라미터:
e - 추가하는 요소

addLast

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

이 메소드는,add(E) 와 동등합니다.

정의:
인터페이스 Deque <E > 내의 addLast
파라미터:
e - 추가하는 요소

contains

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

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

size

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

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

add

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

이 메소드는,addLast(E) 와 동등합니다.

정의:
인터페이스 Collection <E > 내의 add
정의:
인터페이스 Deque <E > 내의 add
정의:
인터페이스 List <E > 내의 add
정의:
인터페이스 Queue <E > 내의 add
오버라이드(override):
클래스 AbstractList <E > 내의 add
파라미터:
e - 리스트에 추가되는 요소
반환값:
true (Collection.add(E) 로 지정되고 있는 대로)

remove

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

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

addAll

public boolean addAll(Collection <?  extends E > c)
지정된 컬렉션내의 모든 요소를, 지정된 컬렉션의 반복자에 의해 반환되는 순서로 리스트의 마지막에 추가합니다. 오퍼레이션의 진행중에, 지정된 컬렉션이 변경되었을 경우의, 이 오퍼레이션의 동작은 정의되고 있지 않습니다. 즉, 지정된 컬렉션이 이 리스트로, 게다가 빈 상태(empty)이 아닌 경우에 일어납니다.

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

addAll

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

정의:
인터페이스 List <E > 내의 addAll
오버라이드(override):
클래스 AbstractSequentialList <E > 내의 addAll
파라미터:
index - 지정된 컬렉션의 최초의 요소를 삽입하는 위치의 인덱스
c - 요소가 리스트에 추가되는 컬렉션
반환값:
이 호출의 결과, 이 리스트가 변경되었을 경우는 true
예외:
IndexOutOfBoundsException - 인덱스가 범위외의 경우 (index < 0 || index > size())
NullPointerException - 지정된 컬렉션이 null 인 경우

clear

public void clear()
리스트로부터 모든 요소를 삭제합니다.

정의:
인터페이스 Collection <E > 내의 clear
정의:
인터페이스 List <E > 내의 clear
오버라이드(override):
클래스 AbstractList <E > 내의 clear

get

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

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

set

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

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

add

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

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

remove

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

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

indexOf

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

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

lastIndexOf

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

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

peek

public E  peek()
이 리스트의 선두 (최초의 요소)를 가져옵니다만, 삭제는 하지 않습니다.

정의:
인터페이스 Deque <E > 내의 peek
정의:
인터페이스 Queue <E > 내의 peek
반환값:
리스트의 선두. 리스트가 빈 상태(empty)의 경우는 null
도입된 버젼:
1.5

element

public E  element()
이 리스트의 선두 (최초의 요소)를 가져옵니다만, 삭제는 하지 않습니다.

정의:
인터페이스 Deque <E > 내의 element
정의:
인터페이스 Queue <E > 내의 element
반환값:
리스트의 선두
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우
도입된 버젼:
1.5

poll

public E  poll()
이 리스트의 선두 (최초의 요소) 취득해, 삭제합니다.

정의:
인터페이스 Deque <E > 내의 poll
정의:
인터페이스 Queue <E > 내의 poll
반환값:
리스트의 선두. 리스트가 빈 상태(empty)의 경우는 null
도입된 버젼:
1.5

remove

public E  remove()
이 리스트의 선두 (최초의 요소) 취득해, 삭제합니다.

정의:
인터페이스 Deque <E > 내의 remove
정의:
인터페이스 Queue <E > 내의 remove
반환값:
리스트의 선두
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우
도입된 버젼:
1.5

offer

public boolean offer(E  e)
지정된 요소를 이 리스트의 말미 (마지막 요소)에 추가합니다.

정의:
인터페이스 Deque <E > 내의 offer
정의:
인터페이스 Queue <E > 내의 offer
파라미터:
e - 추가하는 요소
반환값:
true (Queue.offer(E) 로 지정되고 있는 대로)
도입된 버젼:
1.5

offerFirst

public boolean offerFirst(E  e)
리스트의 선두에, 지정된 요소를 삽입합니다.

정의:
인터페이스 Deque <E > 내의 offerFirst
파라미터:
e - 삽입되는 요소
반환값:
true (Deque.offerFirst(E) 로 지정되고 있는 대로)
도입된 버젼:
1.6

offerLast

public boolean offerLast(E  e)
리스트의 말미에, 지정된 요소를 삽입합니다.

정의:
인터페이스 Deque <E > 내의 offerLast
파라미터:
e - 삽입되는 요소
반환값:
true (Deque.offerLast(E) 로 지정되고 있는 대로)
도입된 버젼:
1.6

peekFirst

public E  peekFirst()
리스트의 최초의 요소를 가져옵니다만, 삭제하지 않습니다. 리스트가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 peekFirst
반환값:
리스트의 최초의 요소. 리스트가 빈 상태(empty)의 경우는 null
도입된 버젼:
1.6

peekLast

public E  peekLast()
리스트의 마지막 요소를 가져옵니다만, 삭제하지 않습니다. 리스트가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 peekLast
반환값:
리스트의 마지막 요소. 리스트가 빈 상태(empty)의 경우는 null
도입된 버젼:
1.6

pollFirst

public E  pollFirst()
리스트의 최초의 요소를 취득 및 삭제합니다. 리스트가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 pollFirst
반환값:
리스트의 최초의 요소. 리스트가 빈 상태(empty)의 경우는 null
도입된 버젼:
1.6

pollLast

public E  pollLast()
리스트의 마지막 요소를 취득 및 삭제합니다. 리스트가 빈 상태(empty)의 경우는 null 를 돌려줍니다.

정의:
인터페이스 Deque <E > 내의 pollLast
반환값:
리스트의 마지막 요소. 리스트가 빈 상태(empty)의 경우는 null
도입된 버젼:
1.6

push

public void push(E  e)
이 리스트가 나타내는 스택상에 요소를 푸쉬 합니다. 즉, 이 리스트의 선두에 요소를 삽입합니다.

이 메소드는,addFirst(E) 와 동등합니다.

정의:
인터페이스 Deque <E > 내의 push
파라미터:
e - 푸쉬 하는 요소
도입된 버젼:
1.6

pop

public E  pop()
이 리스트가 나타내는 스택으로부터 요소를 팝 합니다. 즉, 이 리스트의 최초의 요소를 삭제해 돌려줍니다.

이 메소드는,removeFirst() 와 동등합니다.

정의:
인터페이스 Deque <E > 내의 pop
반환값:
이 리스트의 선두의 요소 (이 리스트가 나타내는 스택의 맨 위)
예외:
NoSuchElementException - 리스트가 빈 상태(empty)의 경우
도입된 버젼:
1.6

removeFirstOccurrence

public boolean removeFirstOccurrence(Object  o)
이 리스트내에서 최초로 검출된, 지정된 요소를 삭제합니다 (리스트를 선두로부터 말미의 방향으로 횡단(traverse) 했을 경우). 그 요소가 리스트에 없는 경우, 변경은 없습니다.

정의:
인터페이스 Deque <E > 내의 removeFirstOccurrence
파라미터:
o - 리스트로부터 삭제되는 요소 (그 요소가 존재하는 경우)
반환값:
리스트에, 지정된 요소가 포함되고 있는 경우는 true
도입된 버젼:
1.6

removeLastOccurrence

public boolean removeLastOccurrence(Object  o)
이 리스트내에서 마지막에 검출된, 지정된 요소를 삭제합니다 (리스트를 선두로부터 말미의 방향으로 횡단(traverse) 했을 경우). 그 요소가 리스트에 없는 경우, 변경은 없습니다.

정의:
인터페이스 Deque <E > 내의 removeLastOccurrence
파라미터:
o - 리스트로부터 삭제되는 요소 (그 요소가 존재하는 경우)
반환값:
리스트에, 지정된 요소가 포함되고 있는 경우는 true
도입된 버젼:
1.6

listIterator

public ListIterator <E > listIterator(int index)
리스트내의 지정된 위치에서 시작되는, 리스트내의 요소를 적절한 순서로 반복하는 리스트 반복자를 돌려줍니다. List.listIterator(int) 의 일반 규약에 따릅니다.

리스트 반복자는 「fail-fast」입니다. 반복자의 작성 후에 리스트 반복자 자체의 remove 또는 add 메소드 이외 방법으로 리스트가 구조적으로 변경되면(자), 리스트 반복자는 ConcurrentModificationException 를 throw 합니다. 이와 같이, 병행해 변경을 하면(자), 반복자는, 장래의 예측할 수 없는 시점에 있어 예측할 수 없는 동작이 발생하는 위험을 회피하기 위해서, 즉시 한편 솜씨 자주(잘) 예외를 throw 합니다.

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

descendingIterator

public Iterator <E > descendingIterator()
인터페이스 Deque 의 기술:
이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자를 돌려줍니다. 요소는 최후 (말미)로부터 최초 (선두)의 순서에 돌려주어집니다.

정의:
인터페이스 Deque <E > 내의 descendingIterator
반환값:
이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자
도입된 버젼:
1.6

clone

public Object  clone()
LinkedList 의 shallow 복사를 돌려줍니다. 그 요소는 복제되지 않습니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
LinkedList 의 인스턴스의 shallow 복사
관련 항목:
Cloneable

toArray

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

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

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

정의:
인터페이스 Collection <E > 내의 toArray
정의:
인터페이스 List <E > 내의 toArray
오버라이드(override):
클래스 AbstractCollection <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
오버라이드(override):
클래스 AbstractCollection <E > 내의 toArray
파라미터:
a - 리스트의 요소의 포함처가 되는 배열 (다만 충분히 큰 경우). 그 이외의 경우, 이 목적을 위해서(때문에) 같은 실행시의 형태의 새로운 배열을 할당할 수 있다
반환값:
리스트의 요소가 포함되고 있는 배열
예외:
ArrayStoreException - 지정된 배열의 실행시의 형태가, 리스트내의 각 요소의 실행시의 형태의 슈퍼타입이 아닌 경우
NullPointerException - 지정된 배열이 null 인 경우

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