Java에서 큐 인스턴스화

Bishal Awasthi 2023년10월12일
  1. LinkedList클래스를 사용하여 Java에서Queue객체 구현
  2. ArrayDeque클래스를 사용하여 Java에서Queue객체 구현
Java에서 큐 인스턴스화

이 기사에서는 Java에서Queue객체를 인스턴스화하는 방법을 소개합니다. 이 자습서에서는 인스턴스화 된 개체의 메서드 호출을 자세히 설명하고 구현합니다. 대기열은 인터페이스이며 객체를 직접 생성 할 수 없습니다. 그러나 이미Queue인터페이스를 구현하는 클래스를 구현할 수 있습니다. 이러한 클래스 중 일부는AbstractQueue,ArrayDeque,DelayQueue,LinkedList입니다. 따라서이 자습서에서는LinkedListArrayDeque클래스를 사용하여 큐를 인스턴스화합니다.

LinkedList클래스를 사용하여 Java에서Queue객체 구현

LinkedList클래스는 LinkedList 데이터 구조 개념을 구현합니다. 컬렉션 프레임 워크의 일부이며java.util패키지에서 사용할 수 있습니다. LinkedList의 요소는 포인터와 주소의 형태로 저장됩니다. 요소는 노드로 알려져 있습니다. LinkedList에서 직접 노드에 액세스 할 수 없습니다. 노드에 액세스하려면 헤드에서 시작하여 액세스하려는 노드에 도달해야합니다. LinkedList는 List 인터페이스를 구현하고 List 인터페이스와 컬렉션 인터페이스에있는 모든 메서드를 상속합니다. Queue도 동일한 패키지로 제공됩니다. LinkedList클래스를 구현하는Queue객체를 만들 수 있습니다. add()함수를 사용하여 큐에 데이터를 추가 할 수 있습니다.

먼저import java.util.Queueimport java.util.LinkedList를 사용하여 Queue 및 LinkedList를 각각 가져옵니다. 그런 다음QueueDemo클래스를 만들고 기본 메서드를 선언합니다. 다음으로LinkedList클래스를 구현하여queue객체를 인스턴스화합니다. 객체와 함께add()메서드를 호출하고 5 개의 정수 값을 추가합니다. 마지막으로 대기열의 요소를 인쇄합니다.

이 예에서는 대기열 객체를 생성하기 위해 Queue 인터페이스를 구현하는LinkedList클래스를 사용했습니다. Queue는 인터페이스이기 때문에 개체를 직접 만들 수 없습니다. 대기열에 정수 값을 저장하기 때문에 객체를 생성하는 동안 일반 유형Integer를 지정했습니다. 출력 섹션에는 대기열에 저장된 요소가 표시됩니다.

예제 코드 :

import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
  public static void main(String[] args) {
    Queue<Integer> queue = new LinkedList<>();
    queue.add(8);
    queue.add(9);
    queue.add(10);
    queue.add(2);
    queue.add(5);
    System.out.println("Added Queue in memory: " + queue);
  }
}

출력:

Added Queue in memory: [8, 9, 10, 2, 5]

ArrayDeque클래스를 사용하여 Java에서Queue객체 구현

Java 언어는ArrayDeque클래스를 콜렉션 프레임 워크의 일부로 정의했습니다. 16 개의 요소를 보유하기에 충분한 초기 용량으로 메모리에 빈 위치 세트를 생성합니다. ArrayDeque는 Array Double Ended Queue라고도하며 양쪽에서 요소를 삽입하거나 삭제할 수 있습니다. Stack (Last-In-First-Out) 또는 Queue (First-In-First-Out)를 구현합니다. 따라서ArrayDeque클래스를 구현하여Queue객체를 만들 수 있습니다.

위와 같이 패키지를 가져 오되LinkedList대신이 메소드에서ArrayDeque를 가져와야합니다. 그런 다음 Demo 클래스를 만들고 기본 메서드를 선언합니다. 그런 다음Queue인터페이스를 인스턴스화하여ArrayDeque클래스를 구현합니다. Queue개체를aq로 만듭니다. aq개체를 사용하여add()메서드를 네 번 호출합니다. 4 개의 다른 문자열을 추가합니다. 마지막으로aq개체를 인쇄합니다.

아래 예에서는 객체를 생성하는 동안 제네릭 유형String을 사용했습니다. 큐에 문자열 항목을 추가하기 때문입니다. 따라서,ArrayDeque클래스를 구현하는Queue객체를 인스턴스화했습니다.

예제 코드 :

import java.util.ArrayDeque;
import java.util.Queue;
public class Demo {
  public static void main(String[] args) {
    Queue<String> aq = new ArrayDeque<String>();
    aq.add("first");
    aq.add("second");
    aq.add("third");
    aq.add("fourth");
    System.out.println("Added Queue in memory: " + aq);
  }
}

출력:

Added Queue in memory: [first, second, third, fourth]

관련 문장 - Java Queue