Share via


IDeque 인터페이스

정의

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다.

[Android.Runtime.Register("java/util/Deque", "", "Java.Util.IDequeInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IDeque : IDisposable, Java.Interop.IJavaPeerable, Java.Util.IQueue
[<Android.Runtime.Register("java/util/Deque", "", "Java.Util.IDequeInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IDeque = interface
    interface IQueue
    interface ICollection
    interface IIterable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
파생
특성
구현

설명

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다. 이름 deque 는 "이중 큐"의 약어이며 일반적으로 "deck"으로 발음됩니다. 대부분의 Deque 구현은 포함할 수 있는 요소 수에 고정된 제한을 두지 않지만, 이 인터페이스는 용량 제한 큐뿐만 아니라 크기 제한이 고정되지 않은 요소도 지원합니다.

이 인터페이스는 deque의 양쪽 끝에 있는 요소에 액세스하는 메서드를 정의합니다. 요소를 삽입, 제거 및 검사하는 메서드가 제공됩니다. 이러한 각 메서드는 두 가지 형식으로 존재합니다. 하나는 작업이 실패하면 예외를 throw하고, 다른 메서드는 작업에 따라 특수 값( null 또는 false)을 반환합니다. 삽입 작업의 후자 형식은 용량 제한 Deque 구현에 사용하도록 특별히 디자인되었습니다. 대부분의 구현에서는 삽입 작업이 실패할 수 없습니다.

위에서 설명한 12가지 메서드는 다음 표에 요약되어 있습니다.

<table class="striped">캡션Summary of Deque methods</캡션<>thead><tr><td rowspan="2"></td<>th scope="col" colspan="2"> First Element (Head)</th th<>scope="col" colspan="2"> Last Element (Tail)</th<>/tr tr<<>>th scope><="col" style="font-weight:normal; font-style:italic">throw exception</th th<>scope="col" style="font-weight:normal; font-style:italic">Special value</th th<>scope="col" style="font-weight:normal; font-style:italic">throw exception</th th><scope="col" style="font-weight:normal; font-style:italic">Special value</th></tr></ thead tbody><tr><th scope="row">Insert</th<>td>#addFirst(Object) addFirst(e)</td<>td<#offerFirst(Object) offerFirst(e)>/td<>td>#offerLast(Object) offerLast(e)>#addLast(Object) addLast(e)<</td></td></tr tr tr><<>th scope="row">Remove</th<>td<#removeFirst() removeFirst()>/td/td<>td#pollFirst() pollFirst()>< td#removeLast() removeLast()>><><</Td><td><#pollLast() pollLast()/td></tr tr>><<th scope="row">Examine</th><td<#getFirst() getFirst()>/td><td<#peekFirst() peekFirst()>/td><td#getLast() getLast()<>/td td#peekLast() peekLast()>><</td<>/tr<>/tbody></table>

이 인터페이스는 인터페이스를 Queue 확장합니다. deque를 큐로 사용하면 FIFO(첫 번째 출력) 동작이 발생합니다. 요소는 deque의 끝에 추가되고 처음부터 제거됩니다. 인터페이스에서 Queue 상속된 메서드는 다음 표에 Deque 표시된 메서드와 정확히 동일합니다.

<table class="striped">캡션Comparison of Queue and Deque methods</캡션<>thead><tr><th scope="col"Queue> Method</th th<>scope="col"> Equivalent Deque Method</th></tr<>/thead<>tbody><tr><th scope="row">><#add(Object) add(e)</th><td/td<>>#addLast(Object) addLast(e)</tr tr>><<th scope="row"#offer(Object) offer(e)<>/th<>td><#offerLast(Object) offerLast(e)/td<>/tr tr><><th scope="row"<>#remove() remove()/th><td/td>#removeFirst() removeFirst()><</tr tr<<>>th scope="row"<#poll() poll()>/th><td>#pollFirst() pollFirst()</td></tr tr><><th scope="row"#element() element()<>/th><td><#getFirst() getFirst()/td<>/tr tr<>><th scope="row"><#peek() peek()/th><td#peekFirst() peekFirst()<>/td<>/tr<>/tbody></table>

Deques는 LIFO(Last-In-First-Out) 스택으로도 사용할 수 있습니다. 이 인터페이스는 레거시 Stack 클래스를 기본 설정으로 사용해야 합니다. deque를 스택으로 사용하면 요소가 deque의 시작 부분에서 푸시되고 튀어나온다. Stack 메서드는 아래 표에 Deque 표시된 메서드와 동일합니다.

<table class="striped">캡션Comparison of Stack and Deque methods</캡션<>thead<>tr<>th scope="col"> Stack Method</th th><scope="col"> Equivalent Deque Method</th<>/tr<>/thead><tbody<>tr<>th scope="row"#push(Object) push(e)>><</일><td><#addFirst(Object) addFirst(e)/td></tr tr><><th scope="row"#pop() pop()<>/th><td><#removeFirst() removeFirst()/td<>/tr tr<>><th scope="row"><#peek() peek()/th><td#getFirst() getFirst()<>/td<>/tr<>/tbody></table>

deque가 #peek peek 큐 또는 스택으로 사용될 때 메서드가 동일하게 잘 작동합니다. 두 경우 모두 deque의 시작 부분에서 요소가 그려집니다.

이 인터페이스는 내부 요소 및 #removeLastOccurrence removeLastOccurrence를 제거하는 두 가지 메서드를 #removeFirstOccurrence removeFirstOccurrence 제공합니다.

인터페이스와 List 달리 이 인터페이스는 요소에 대한 인덱싱된 액세스를 지원하지 않습니다.

구현은 null 요소의 삽입을 금지하기 위해 엄격하게 필요하지는 않지만 Deque 이를 수행하는 것이 좋습니다. null 요소를 허용하는 구현 Deque 의 사용자는 null을 삽입하는 기능을 활용 하지 않는 것이 좋습니다. 따라서 는 null deque가 비어 있음을 나타내기 위해 다양한 메서드에서 특수 반환 값으로 사용되므로 입니다.

Deque구현은 일반적으로 및 hashCode 메서드의 equals 요소 기반 버전을 정의하지 않고 대신 클래스 Object에서 ID 기반 버전을 상속합니다.

1.6에 추가되었습니다.

에 대한 Java 설명서입니다 java.util.Deque.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

속성

First

이 deque의 첫 번째 요소를 검색하지만 제거하지는 않습니다.

Handle

기본 Android 개체의 JNI 값을 가져옵니다.

(다음에서 상속됨 IJavaObject)
IsEmpty

요소가 없으면 Collection 를 반환합니다.

(다음에서 상속됨 ICollection)
JniIdentityHashCode

래핑된 instance 값을 반환 java.lang.System.identityHashCode() 합니다.

(다음에서 상속됨 IJavaPeerable)
JniManagedPeerState

관리되는 피어의 상태입니다.

(다음에서 상속됨 IJavaPeerable)
JniPeerMembers

멤버 액세스 및 호출 지원.

(다음에서 상속됨 IJavaPeerable)
Last

이 deque의 마지막 요소를 검색하지만 제거하지는 않습니다.

PeerReference

JniObjectReference 래핑된 Java 개체 instance 의 를 반환합니다.

(다음에서 상속됨 IJavaPeerable)

메서드

Add(Object)

용량 제한을 위반하지 않고 즉시 수행할 수 있는 경우 이 deque가 나타내는 큐에 지정된 요소를 삽입하고, 성공 시 반환 true 하고, 현재 사용할 수 있는 공간이 없는 경우 을 IllegalStateException throw합니다.

AddAll(ICollection)

지정된 컬렉션의 모든 요소를 이 컬렉션에 추가합니다(선택적 작업).

(다음에서 상속됨 ICollection)
AddFirst(Object)

용량 제한을 위반하지 않고 즉시 수행할 수 있는 경우 이 deque의 맨 앞에 지정된 요소를 삽입하고 현재 사용할 수 있는 공간이 없으면 을 IllegalStateException throw합니다.

AddLast(Object)

용량 제한을 위반하지 않고 즉시 수행할 수 있는 경우 이 deque의 끝에 지정된 요소를 삽입하고 현재 사용할 수 있는 공간이 없는 경우 을 IllegalStateException throw합니다.

Clear()

이 컬렉션에서 모든 요소를 제거합니다(선택적 작업).

(다음에서 상속됨 ICollection)
Contains(Object)

이 deque에 지정된 요소가 포함되어 있으면 를 반환 true 합니다.

ContainsAll(ICollection)

이 컬렉션에 지정된 컬렉션의 모든 요소가 포함되어 있으면 를 반환 true 합니다.

(다음에서 상속됨 ICollection)
DescendingIterator()

이 deque의 요소에 대한 반복기를 역순으로 반환합니다.

Disposed()

instance 삭제될 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
DisposeUnlessReferenced()

이 instance 대한 미해결 참조가 없으면 를 호출Dispose()합니다. 그렇지 않으면 아무 작업도 수행하지 않습니다.

(다음에서 상속됨 IJavaPeerable)
Element()

이 deque로 표시되는 큐의 헤드(즉, 이 deque의 첫 번째 요소)를 검색하지만 제거하지는 않습니다.

Equals(Object)

지정된 개체를 이 컬렉션과 같음으로 비교합니다.

(다음에서 상속됨 ICollection)
Finalized()

instance 완료될 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
ForEach(IConsumer)

모든 요소가 처리되거나 작업이 예외를 Iterable throw할 때까지 의 각 요소에 대해 지정된 작업을 수행합니다.

(다음에서 상속됨 IIterable)
GetHashCode()

이 컬렉션의 해시 코드 값을 반환합니다.

(다음에서 상속됨 ICollection)
Iterator()

이 deque의 요소에 대한 반복기를 적절한 시퀀스로 반환합니다.

Offer(Object)

용량 제한을 위반하지 않고 즉시 수행할 수 있고 성공 시 반환 true 하고 false 현재 사용할 수 있는 공간이 없는 경우 이 deque가 나타내는 큐에 지정된 요소를 삽입합니다(즉, 이 deque의 꼬리에 있음).

OfferFirst(Object)

용량 제한을 위반하지 않는 한 지정된 요소를 이 deque의 맨 앞에 삽입합니다.

OfferLast(Object)

용량 제한을 위반하지 않는 한 지정된 요소를 이 deque의 끝에 삽입합니다.

Peek()

이 deque로 표시되는 큐의 헤드(즉, 이 deque의 첫 번째 요소)를 검색하지만 제거하지는 않습니다. 또는 이 deque가 비어 있으면 를 반환합니다 null .

PeekFirst()

이 deque의 첫 번째 요소를 검색하지만 제거하지는 않으며 이 deque가 비어 있으면 를 반환 null 합니다.

PeekLast()

이 deque의 마지막 요소를 검색하지만 제거하지는 않으며 이 deque가 비어 있으면 를 반환 null 합니다.

Poll()

이 deque로 표시되는 큐의 헤드(즉, 이 deque의 첫 번째 요소)를 검색하고 제거하거나 이 deque가 비어 있으면 를 반환합니다 null .

PollFirst()

이 deque의 첫 번째 요소를 검색 및 제거하거나 이 deque가 비어 있으면 를 반환합니다 null .

PollLast()

이 deque의 마지막 요소를 검색 및 제거하거나 이 deque가 비어 있으면 를 반환합니다 null .

Pop()

이 deque로 표시되는 스택에서 요소를 팝합니다.

Push(Object)

용량 제한을 위반하지 않고 즉시 수행할 수 있는 경우 이 deque가 나타내는 스택에 요소를 푸시합니다(즉, 이 deque의 머리). 현재 사용할 수 있는 공간이 없는 경우 을 throw합니다 IllegalStateException .

Remove()

이 deque로 표시되는 큐의 헤드를 검색하고 제거합니다(즉, 이 deque의 첫 번째 요소).

Remove(Object)

이 deque에서 지정된 요소의 첫 번째 항목을 제거합니다.

RemoveAll(ICollection)

지정된 컬렉션에도 포함된 이 컬렉션의 모든 요소를 제거합니다(선택적 작업).

(다음에서 상속됨 ICollection)
RemoveFirst()

이 deque의 첫 번째 요소를 검색하고 제거합니다.

RemoveFirstOccurrence(Object)

이 deque에서 지정된 요소의 첫 번째 항목을 제거합니다.

RemoveIf(IPredicate)

지정된 조건자를 충족하는 이 컬렉션의 모든 요소를 제거합니다.

(다음에서 상속됨 ICollection)
RemoveLast()

이 deque의 마지막 요소를 검색하고 제거합니다.

RemoveLastOccurrence(Object)

이 deque에서 지정된 요소의 마지막 발생을 제거합니다.

RetainAll(ICollection)

지정된 컬렉션에 포함된 이 컬렉션의 요소만 유지합니다(선택적 작업).

(다음에서 상속됨 ICollection)
SetJniIdentityHashCode(Int32)

에서 반환 JniIdentityHashCode된 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다.

(다음에서 상속됨 IJavaPeerable)
SetPeerReference(JniObjectReference)

에서 반환 PeerReference된 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
Size()

이 deque의 요소 수를 반환합니다.

Spliterator()

Iterable에서 Spliterator 설명하는 요소 위에 을 만듭니다.

(다음에서 상속됨 IIterable)
ToArray()

이 컬렉션의 모든 요소가 포함된 배열을 반환합니다.

(다음에서 상속됨 ICollection)
ToArray(IIntFunction)

제공된 함수를 사용하여 반환된 generator 배열을 할당하여 이 컬렉션의 모든 요소가 포함된 배열을 반환합니다.

(다음에서 상속됨 ICollection)
ToArray(Object[])

이 컬렉션의 모든 요소를 포함하는 배열을 반환합니다. 반환된 배열의 런타임 형식은 지정된 배열의 런타임 형식입니다.

(다음에서 상속됨 ICollection)
UnregisterFromRuntime()

런타임이 이후 Java.Interop.JniRuntime+JniValueManager.PeekValue 호출에서 반환되지 않도록 이 instance 등록을 취소합니다.

(다음에서 상속됨 IJavaPeerable)

명시적 인터페이스 구현

IIterable.Spliterator()

Spliterator 이 컬렉션의 요소 위에 을 만듭니다.

(다음에서 상속됨 ICollection)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다.

GetJniTypeName(IJavaPeerable)

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다.

ToEnumerable(IIterable)

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다.

ToEnumerable<T>(IIterable)

양쪽 끝에서 요소 삽입 및 제거를 지원하는 선형 컬렉션입니다.

적용 대상