>  기사  >  Java  >  Deque 작업을 위해 Java에서 Deque 함수를 사용하는 방법

Deque 작업을 위해 Java에서 Deque 함수를 사용하는 방법

PHPz
PHPz원래의
2023-06-26 16:20:452422검색

Double-ended queue(Deque)는 큐와 스택 특성을 지닌 비교적 복잡한 데이터 구조입니다. 큐와 스택의 모든 작업을 지원하며 큐의 헤드와 테일에 요소를 추가하거나 삭제할 수 있습니다. Java에서 Deque는 ArrayDeque와 LinkedList라는 두 가지 구현 클래스가 있는 인터페이스입니다.

이 기사에서는 Java에서 Deque 함수를 사용하여 Deque 생성, 요소 추가, 요소 제거, 헤드 및 테일 작업 등을 포함한 이중 종료 대기열 작업을 수행하는 방법을 소개합니다.

1. Deque 생성

Java에서 Deque 객체를 생성하려면 ArrayDeque 또는 LinkedList 구현 클래스를 사용할 수 있습니다. 요소 개수를 알고 성능 요구 사항이 높으면 ArrayDeque를 사용하는 것이 좋으며, 요소 개수가 불확실하거나 중간에 요소를 자주 삽입하거나 삭제해야 하는 경우에는 LinkedList를 사용하는 것이 좋습니다.

다음은 deque라는 이름의 Deque 객체를 생성하는 코드입니다.

Deque<String> deque = new ArrayDeque<String>(); // 使用ArrayDeque实现类创建
Deque<Integer> deque = new LinkedList<Integer>(); // 使用LinkedList实现类创建

2. 요소 추가

요소 추가는 양방향 대기열의 기본 작업 중 하나입니다. Deque에서는 큐의 헤드 또는 테일에 요소를 추가할 수 있습니다. 추가하려면 각각 addFirst() 및 addLast() 메소드를 사용하십시오.

addFirst()를 사용하여 요소를 추가합니다.

deque.addFirst("element");

addLast()를 사용하여 요소를 추가합니다.

deque.addLast("element");

추가 프로세스 중에 deque가 가득 차면 addFirst()는 IllegalStateException을 발생시킵니다.

3. 요소 제거

요소 제거도 이중 종료 대기열의 기본 작업 중 하나입니다. Deque에서는 대기열의 헤드 또는 테일에서 요소를 제거할 수도 있습니다. 제거하려면 각각 RemoveFirst() 및 RemoveLast() 메서드를 사용하십시오.

removeFirst()를 사용하여 요소 제거:

String element = deque.removeFirst();

removeLast()를 사용하여 요소 제거:

String element = deque.removeLast();

큐가 비어 있는 경우 위 메서드를 호출하면 NoSuchElementException 예외가 발생합니다.

4. 요소 결정

때때로 Deque에 특정 요소가 포함되어 있는지 또는 첫 번째 요소와 마지막 요소가 무엇인지 확인해야 할 때가 있습니다. 이때 element(), peek() 등의 메소드를 사용할 수 있습니다.

element()를 사용하여 팀의 첫 번째 요소 가져오기:

String firstElement = deque.element(); // 队首元素

peek()를 사용하여 팀의 첫 번째 요소 가져오기:

String firstElement = deque.peek(); // 队首元素

큐가 비어 있는 경우 위 메서드를 호출하면 NoSuchElementException 예외가 발생합니다.

peekFirst()를 사용하여 팀의 첫 번째 요소를 가져옵니다.

String firstElement = deque.peekFirst(); // 队首元素

peekLast()를 사용하여 팀의 마지막 요소를 가져옵니다.

String lastElement = deque.peekLast(); // 队尾元素

5. 요소를 탐색합니다.

Deque의 요소를 탐색할 때 Iterator, foreach 또는 람다 표현식을 사용할 수 있습니다.

반복자를 사용하여 트래버스:

Iterator<String> iterator = deque.iterator(); // 获取Iterator对象
while (iterator.hasNext()) { // 依次输出元素
    System.out.println(iterator.next());
}

foreach를 사용하여 트래버스:

for (String element : deque) { // 依次输出元素
    System.out.println(element);
}

람다 표현식을 사용하여 트래버스:

deque.forEach(element -> System.out.println(element)); // 依次输出元素

Summary

Deque는 Java의 이중 끝형 큐 인터페이스로, 큐와 스택의 모든 작업을 제공하며 다음과 같은 작업을 수행할 수 있습니다. 요소는 대기열의 선두에서 추가되거나 삭제되며, 대기열의 꼬리에서는 요소가 추가되거나 삭제될 수 있습니다. Java에서 Deque에는 다양한 시나리오에서 사용되는 ArrayDeque 및 LinkedList라는 두 가지 구현 클래스가 있습니다.

이 기사에서는 Java에서 Deque 함수를 사용하여 Deque 생성, 요소 추가, 요소 제거, 헤드 및 테일 작업, 요소 순회를 포함한 이중 종료 대기열 작업을 수행하는 방법을 소개합니다. Java 초보자에게 도움을 제공하기 위해 이 사이트에 더 많은 기사가 있습니다!

위 내용은 Deque 작업을 위해 Java에서 Deque 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.