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 중국어 웹사이트의 기타 관련 기사를 참조하세요!