|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.AbstractCollection <E>
java.util.ArrayDeque<E>
E
- 컬렉션내에 존재하는 요소의 형태public class ArrayDeque<E>
Deque
인터페이스의 사이즈 변경 가능한 배열의 구현입니다. 배열의 양단 큐에 용량 제한은 없고, 사용량을 지원하기 위해서 필요에 따라서 커집니다. 그것들은 thread 세이프가 아닙니다. 외부의 동기화가 없는 경우, 복수의 thread에 의한 병행 액세스는 지원되지 않습니다. null 요소는 금지되고 있습니다. 이 클래스는 일반적으로, 스택으로서 사용될 때는 Stack
보다 고속으로 , 큐로서 사용될 때는 LinkedList
보다 고속으로.
대부분의 ArrayDeque 오퍼레이션은, 일정한 상각 시간에 실행됩니다. 예외는,remove
,removeFirstOccurrence
,removeLastOccurrence
,contains
,iterator.remove()
, 및 일괄 오퍼레이션으로, 이것들은 모두 요소의 수 에 비례하는 시간에 실행됩니다.
이 클래스의 iterator 메소드에 의해 반환되는 반복자는 「fail-fast」입니다. 즉, 반복자의 작성 후에, 반복자 자체의 remove 메소드 이외 방법으로 양단 큐가 변경되면(자), 반복자는 일반적으로은 ConcurrentModificationException
를 throw 합니다. 이와 같이, 병행해 변경을 하면(자), 반복자는, 장래의 예측할 수 없는 시점에 있어 예측할 수 없는 동작이 발생하는 위험을 회피하기 위해서, 즉시 한편 솜씨 자주(잘) 예외를 throw 합니다.
일반적으로, 비동기의 병행 변경이 있는 경우, 확실한 보증을 실시하는 것은 불가능해서, 반복자의 fail-fast의 동작을 보증할 수 없습니다. fail-fast 반복자는 최선 노력 원칙에 근거해,ConcurrentModificationException 를 throw 합니다. 따라서, 정확을 기하기 위해서 이 예외에 의존하는 프로그램을 쓰는 것은 잘못입니다. 「반복자의 fail-fast의 동작은 버그를 검출하기 위해서 사용해야 합니다」
이 클래스와 그 반복자는,Collection
및 Iterator
인터페이스의 「옵션」메소드 모든 것을 구현합니다.
이 클래스는,Java Collections Framework 의 멤버입니다.
생성자 의 개요 | |
---|---|
ArrayDeque ()
16 개의 요소를 보관 유지하기 위해서 충분한 초기 용량을 가지는, 빈 상태(empty)의 배열 양단 큐를 작성합니다. |
|
ArrayDeque (Collection <? extends E > c)
지정된 컬렉션의 반복자가 돌려주는 순서로, 그 요소를 포함하는 양단 큐를 작성합니다. |
|
ArrayDeque (int numElements)
지정된 수의 요소를 보관 유지하기 위해서 충분한 초기 용량을 가지는, 빈 상태(empty)의 배열 양단 큐를 작성합니다. |
메소드의 개요 | ||
---|---|---|
boolean |
add (E e)
지정된 요소를 이 양단 큐의 말미에 삽입합니다. |
|
void |
addFirst (E e)
지정된 요소를 이 양단 큐의 선두에 삽입합니다. |
|
void |
addLast (E e)
지정된 요소를 이 양단 큐의 말미에 삽입합니다. |
|
void |
clear ()
모든 요소를 양단 큐로부터 삭제합니다. |
|
ArrayDeque <E > |
clone ()
이 양단 큐의 복제를 돌려줍니다. |
|
boolean |
contains (Object o)
지정된 요소가 이 양단 큐에 포함되어 있는 경우에 true 를 돌려줍니다. |
|
Iterator <E > |
descendingIterator ()
이 양단 큐내의 요소를 역순서로 반복 처리 하는 반복자를 돌려줍니다. |
|
E |
element ()
이 양단 큐로 나타내지는 큐의 선두를 가져옵니다만, 삭제하지 않습니다. |
|
E |
getFirst ()
이 양단 큐의 최초의 요소를 가져옵니다만, 삭제는 하지 않습니다. |
|
E |
getLast ()
이 양단 큐의 마지막 요소를 가져옵니다만, 삭제는 하지 않습니다. |
|
boolean |
isEmpty ()
이 양단 큐에 요소가 포함되지 않은 경우에 true 를 돌려줍니다. |
|
Iterator <E > |
iterator ()
양단 큐의 요소의 반복자를 돌려줍니다. |
|
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 ()
이 양단 큐가 나타내는 큐의 선두를 취득해 삭제합니다. |
|
boolean |
remove (Object o)
지정된 요소의 단일의 인스턴스를, 이 양단 큐로부터 삭제합니다. |
|
E |
removeFirst ()
이 양단 큐의 최초의 요소를 취득해 삭제합니다. |
|
boolean |
removeFirstOccurrence (Object o)
양단 큐를 선두로부터 말미까지 횡단(traverse) 할 경우에, 이 양단 큐의 지정된 요소의 쳐 최초로 출현한 것을 삭제합니다. |
|
E |
removeLast ()
이 양단 큐의 마지막 요소를 취득해 삭제합니다. |
|
boolean |
removeLastOccurrence (Object o)
양단 큐를 선두로부터 말미까지 횡단(traverse) 할 경우에, 이 양단 큐의 지정된 요소의 쳐 마지막에 출현한 것을 삭제합니다. |
|
int |
size ()
이 양단 큐내의 요소의 수를 돌려줍니다. |
|
Object [] |
toArray ()
양단 큐내의 모든 요소를 적절한 순서 (최초의 요소로부터 마지막 요소에)로 포함하고 있는 배열을 돌려줍니다. |
|
|
toArray (T[] a)
양단 큐내의 모든 요소를 적절한 순서 (최초의 요소로부터 마지막 요소에)로 포함하고 있는 배열을 돌려줍니다. |
클래스 java.util. AbstractCollection 로부터 상속된 메소드 |
---|
addAll , containsAll , removeAll , retainAll , toString |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
인터페이스 java.util. Collection 로부터 상속된 메소드 |
---|
addAll , containsAll , equals , hashCode , removeAll , retainAll |
생성자 의 상세 |
---|
public ArrayDeque()
public ArrayDeque(int numElements)
numElements
- 양단 큐의 초기 용량의 범위의 하한public ArrayDeque(Collection <? extends E > c)
c
- 요소가 양단 큐에 배치되는 컬렉션
NullPointerException
- 지정된 컬렉션이 null 인 경우메소드의 상세 |
---|
public void addFirst(E e)
Deque <E >
내의 addFirst
e
- 추가하는 요소
NullPointerException
- 지정된 요소가 null 인 경우public void addLast(E e)
이 메소드는,add(E)
와 동등합니다.
Deque <E >
내의 addLast
e
- 추가하는 요소
NullPointerException
- 지정된 요소가 null 인 경우public boolean offerFirst(E e)
Deque <E >
내의 offerFirst
e
- 추가하는 요소
Deque.offerFirst(E)
로 지정되었을 경우와 같이)
NullPointerException
- 지정된 요소가 null 인 경우public boolean offerLast(E e)
Deque <E >
내의 offerLast
e
- 추가하는 요소
Deque.offerLast(E)
로 지정되었을 경우와 같이)
NullPointerException
- 지정된 요소가 null 인 경우public E removeFirst()
Deque
의 기술:pollFirst
와 다릅니다.
Deque <E >
내의 removeFirst
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public E removeLast()
Deque
의 기술:pollLast
와 다릅니다.
Deque <E >
내의 removeLast
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public E pollFirst()
Deque
의 기술:
Deque <E >
내의 pollFirst
public E pollLast()
Deque
의 기술:
Deque <E >
내의 pollLast
public E getFirst()
Deque
의 기술:peekFirst
와 다릅니다.
Deque <E >
내의 getFirst
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public E getLast()
Deque
의 기술:peekLast
와 다릅니다.
Deque <E >
내의 getLast
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public E peekFirst()
Deque
의 기술:
Deque <E >
내의 peekFirst
public E peekLast()
Deque
의 기술:
Deque <E >
내의 peekLast
public boolean removeFirstOccurrence(Object o)
Deque <E >
내의 removeFirstOccurrence
o
- 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
public boolean removeLastOccurrence(Object o)
Deque <E >
내의 removeLastOccurrence
o
- 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
public boolean add(E e)
이 메소드는,addLast(E)
와 동등합니다.
Collection <E >
내의 add
Deque <E >
내의 add
Queue <E >
내의 add
AbstractCollection <E >
내의 add
e
- 추가하는 요소
Collection.add(E)
로 지정되었을 경우와 같이)
NullPointerException
- 지정된 요소가 null 인 경우public boolean offer(E e)
이 메소드는,offerLast(E)
와 동등합니다.
Deque <E >
내의 offer
Queue <E >
내의 offer
e
- 추가하는 요소
Queue.offer(E)
로 지정되었을 경우와 같이)
NullPointerException
- 지정된 요소가 null 인 경우public E remove()
poll
와 다릅니다.
이 메소드는,removeFirst()
와 동등합니다.
Deque <E >
내의 remove
Queue <E >
내의 remove
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public E poll()
이 메소드는,pollFirst()
와 동등합니다.
Deque <E >
내의 poll
Queue <E >
내의 poll
public E element()
peek
와 다릅니다.
이 메소드는,getFirst()
와 동등합니다.
Deque <E >
내의 element
Queue <E >
내의 element
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public E peek()
이 메소드는,peekFirst()
와 동등합니다.
Deque <E >
내의 peek
Queue <E >
내의 peek
public void push(E e)
이 메소드는,addFirst(E)
와 동등합니다.
Deque <E >
내의 push
e
- 푸쉬 하는 요소
NullPointerException
- 지정된 요소가 null 인 경우public E pop()
이 메소드는,removeFirst()
와 동등합니다.
Deque <E >
내의 pop
NoSuchElementException
- 이 양단 큐가 빈 상태(empty)의 경우public int size()
Collection <E >
내의 size
Deque <E >
내의 size
AbstractCollection <E >
내의 size
public boolean isEmpty()
Collection <E >
내의 isEmpty
AbstractCollection <E >
내의 isEmpty
public Iterator <E > iterator()
remove()
의 연속하는 호출에 의해 큐로부터 꺼내지는 순서, 또는 pop()
가 연속하는 호출에 의해 팝 되는 순서와 같습니다.
Iterable <E >
내의 iterator
Collection <E >
내의 iterator
Deque <E >
내의 iterator
AbstractCollection <E >
내의 iterator
public Iterator <E > descendingIterator()
Deque
의 기술:
Deque <E >
내의 descendingIterator
public boolean contains(Object o)
Collection <E >
내의 contains
Deque <E >
내의 contains
AbstractCollection <E >
내의 contains
o
- 이 양단 큐에 포함되어 있는지 어떤지를 조사하는 객체
public boolean remove(Object o)
이 메소드는,removeFirstOccurrence(java.lang.Object)
와 동등합니다.
Collection <E >
내의 remove
Deque <E >
내의 remove
AbstractCollection <E >
내의 remove
o
- 이 양단 큐로부터 삭제되는 요소 (그 요소가 존재하는 경우)
public void clear()
Collection <E >
내의 clear
AbstractCollection <E >
내의 clear
public Object [] toArray()
반환되는 배열에의 참조를 양단 큐가 유지하지 않는다고 하는 점으로써, 이 배열은 안전합니다. 즉, 이 메소드는 새로운 배열을 할당할 필요가 있습니다. 이 때문에, 호출측은, 반환된 배열을 자유롭게 변경할 수 있습니다.
메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다.
Collection <E >
내의 toArray
AbstractCollection <E >
내의 toArray
public <T> T[] toArray(T[] a)
양단 큐가 지정된 배열에 들어가, 그 배열에 한층 더 여유가 있는 경우 (즉, 배열이 양단 큐보다 많은 요소를 가지는 경우), 그 배열내에서 양단 큐의 끝보다 나머지의 요소는 null 로 설정됩니다.
toArray()
메소드와 같이, 이 메소드는, 배열 베이스의 API 와 컬렉션 베이스의 API 의 사이의 중개역으로서 기능합니다. 게다가 이 메소드에서는, 출력 배열의 실행시의 형태를 정확하게 제어할 수 있기 (위해)때문에, 환경에 따라서는 할당의 수고를 억제할 수가 있습니다.
x 가, 캐릭터 라인만으로부터 되는 양단 큐인 것을 알 수 있고 있으면(자) 가정합니다. 다음의 코드를 사용하면(자), 새롭게 할당할 수 있었던 String 의 배열에 양단 큐를 덤프 할 수 있습니다.
String[] y = x.toArray(new String[0]);toArray(new Object[0]) 는, 기능의 점으로써 toArray() 와 동일합니다.
Collection <E >
내의 toArray
AbstractCollection <E >
내의 toArray
a
- 배열이 충분한 크기를 가지는 경우는, 양단 큐의 요소가 포함되는 배열. 그렇지 않은 경우는, 요소를 포함하기 위해서 같은 실행시의 형태의 새로운 배열을 할당할 수 있다
ArrayStoreException
- 지정된 배열의 실행시의 형태가, 이 양단 큐내의 모든 요소의 실행시의 형태의 슈퍼타입이 아닌 경우
NullPointerException
- 지정된 배열이 null 인 경우public ArrayDeque <E > clone()
Object
내의 clone
Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.