Java에서 큐 인스턴스화
이 기사에서는 Java에서Queue
객체를 인스턴스화하는 방법을 소개합니다. 이 자습서에서는 인스턴스화 된 개체의 메서드 호출을 자세히 설명하고 구현합니다. 대기열은 인터페이스이며 객체를 직접 생성 할 수 없습니다. 그러나 이미Queue
인터페이스를 구현하는 클래스를 구현할 수 있습니다. 이러한 클래스 중 일부는AbstractQueue
,ArrayDeque
,DelayQueue
,LinkedList
입니다. 따라서이 자습서에서는LinkedList
및ArrayDeque
클래스를 사용하여 큐를 인스턴스화합니다.
LinkedList
클래스를 사용하여 Java에서Queue
객체 구현
LinkedList
클래스는 LinkedList 데이터 구조 개념을 구현합니다. 컬렉션 프레임 워크의 일부이며java.util
패키지에서 사용할 수 있습니다. LinkedList의 요소는 포인터와 주소의 형태로 저장됩니다. 요소는 노드로 알려져 있습니다. LinkedList에서 직접 노드에 액세스 할 수 없습니다. 노드에 액세스하려면 헤드에서 시작하여 액세스하려는 노드에 도달해야합니다. LinkedList는 List 인터페이스를 구현하고 List 인터페이스와 컬렉션 인터페이스에있는 모든 메서드를 상속합니다. Queue
도 동일한 패키지로 제공됩니다. LinkedList
클래스를 구현하는Queue
객체를 만들 수 있습니다. add()
함수를 사용하여 큐에 데이터를 추가 할 수 있습니다.
먼저import java.util.Queue
및import 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]