산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java Deque 인터페이스 마스터: 특징, 메서드, 실전 예제

Java Deque 인터페이스

Java의 Deque 인터페이스가 어떻게 다재다능한 양방향 큐를 제공하는지, 강력한 메서드를 실제 코드에서 어떻게 활용하는지 알아봅니다.


Deque 동작 원리

일반 큐가 후미에서만 인큐하고 앞에서만 디큐하는 것과 달리, Deque(Double-Ended Queue)는 양쪽 끝에서 요소를 추가하고 제거할 수 있습니다. 이 유연성 덕분에 LIFO, FIFO, 더 복잡한 데이터 처리 패턴에 모두 적합합니다.


Deque를 구현하는 클래스들

Deque를 사용하려면 다음 구체 구현체 중 하나를 선택하세요:


코드에서 Deque 사용하기

먼저 인터페이스를 임포트하세요:

import java.util.Deque;

구체 클래스를 인스턴스화하세요:

// 배열 구현
Deque<String> animal1 = new ArrayDeque<>();
// LinkedList 구현
Deque<String> animal2 = new LinkedList<>();

이제 모든 Deque 연산을 사용할 수 있습니다.


핵심 Deque 메서드

Deque는 Queue를 확장하므로 모든 큐 메서드를 상속받습니다. 추가로 양쪽 끝 전용 연산을 제공합니다:


Deque를 스택으로 사용하기

레거시 Stack 클래스는 동기화되어 있고 효율성이 떨어집니다. Deque는 현대적인 비동기화 대안을 제공합니다:


ArrayDeque 실전 예제

import java.util.Deque;
import java.util.ArrayDeque;
class Main {
    public static void main(String[] args) {
        Deque<Integer> numbers = new ArrayDeque<>();
        // Deque 채우기
        numbers.offer(1);      // 꼬리
        numbers.offerLast(2);  // 꼬리
        numbers.offerFirst(3); // 머리
        System.out.println("Deque: " + numbers);
        // 양쪽 끝 조회
        System.out.println("First Element: " + numbers.peekFirst());
        System.out.println("Last Element: " + numbers.peekLast());
        // 요소 제거
        System.out.println("Removed First Element: " + numbers.pollFirst());
        System.out.println("Removed Last Element: " + numbers.pollLast());
        System.out.println("Updated Deque: " + numbers);
    }
}

출력

Deque: [3, 1, 2] First Element: 3 Last Element: 2 Removed First Element: 3 Removed Last Element: 2 Updated Deque: [1]

자세한 내용은 공식 Java ArrayDeque 문서를 참조하세요.

java

  1. C# 인터페이스 마스터하기: 정의, 구현, 실전 활용 사례
  2. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  3. Java 인터페이스 마스터: 개념, 구현, 모범 사례
  4. Java Try-with-Resources 마스터: 자동 리소스 관리 완전 해설
  5. Java 애너테이션 완전 해설: 종류, 배치 위치, 실전 예제
  6. Java NavigableSet 인터페이스 완전 정복: 탐색, 정렬, 실전 예제
  7. Java 인터페이스 vs 추상 클래스: 올바른 추상화 선택 가이드
  8. 자바 인터페이스 이해하기: 정의, 용도, 모범 사례
  9. Java 9 프라이빗 인터페이스 메서드: 캡슐화 및 코드 재사용 강화
  10. C# 인터페이스 마스터하기: 견고한 객체 지향 설계를 위한 계약