>Java >java지도 시간 >Deque의 pollFirst 및 pollLast 함수를 사용하여 Java에서 양방향 큐 팝업 작업을 수행하는 방법

Deque의 pollFirst 및 pollLast 함수를 사용하여 Java에서 양방향 큐 팝업 작업을 수행하는 방법

WBOY
WBOY원래의
2023-06-26 17:49:482243검색

Deque(Double Ended Queue, Double-ended Queue)는 Java에서 큐의 선두에 요소를 삽입하거나 큐의 끝에 요소를 삽입할 수 있는 데이터 구조입니다. 이는 Queue 인터페이스에서 상속되며 해당 구현 클래스에는 LinkedList 및 ArrayDeque가 포함됩니다.

Deque는 pop, poll, pollFirst, pollLast,remove,removeFirst,removeLast 등을 포함한 많은 팝업 작업을 제공합니다. 이러한 작업은 대기열에서 요소를 팝하고 대기열에서 요소를 제거합니다. 이 기사에서는 Deque의 pollFirst 및 pollLast 함수 사용에 중점을 둘 것입니다.

pollFirst 메소드가 팝업되어 deque의 첫 번째 요소를 반환하거나 대기열이 비어 있으면 null을 반환합니다. 다음은 pollFirst 메소드의 선언입니다.

E pollFirst();

여기서 E는 deque의 요소 유형을 나타냅니다.

pollLast 메소드가 팝업되어 deque의 마지막 요소를 반환하거나, 대기열이 비어 있으면 null을 반환합니다. pollLast 메소드 선언은 다음과 같습니다.

E pollLast();

다음 예에서는 Deque pop 작업에 Deque의 pollFirst 및 pollLast 함수를 사용하는 방법을 보여줍니다.

import java.util.*;

public class DequeExample {
    public static void main(String[] args) {
        Deque<Integer> deque = new LinkedList<Integer>();
        
        deque.addFirst(1); //在队列头部插入元素
        deque.addFirst(2);
        deque.addLast(3); //在队列尾部插入元素
        deque.addLast(4);
        
        System.out.println(deque); // 输出 [2, 1, 3, 4]
        
        Integer firstElement = deque.pollFirst(); // 弹出队列头部的元素
        System.out.println("弹出的队列头部元素为: " + firstElement); // 输出 2
        System.out.println(deque); // 输出 [1, 3, 4]
        
        Integer lastElement = deque.pollLast(); // 弹出队列尾部的元素
        System.out.println("弹出的队列尾部元素为: " + lastElement); // 输出 4
        System.out.println(deque); // 输出 [1, 3]
    }
}

위 예에서는 먼저 deque LinkedList를 생성한 후 addFirst 및 addLast 함수를 사용하여 큐에 요소를 삽입한 다음 pollFirst 및 pollLast 함수를 사용하여 큐의 헤드와 테일에 있는 요소를 팝합니다. 마지막으로 각 단계 후에 Deque의 요소를 인쇄합니다.

간단히 말하면 Deque 클래스는 대기열의 팝업 작업을 포함하여 많은 기능을 제공하는 Java의 매우 유용한 데이터 구조입니다. 그 중 pollFirst와 pollLast 함수를 사용하면 큐의 헤드와 테일에 있는 요소를 쉽게 팝아웃할 수 있으며, Deque에 있는 요소는 어느 섹션에서든 삽입하고 삭제할 수 있습니다. 이러한 기능을 통해 Deque는 LRU 캐시와 같은 일부 시나리오에 매우 적합합니다.

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

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