English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 Java Queue 인터페이스와 그 메서드를 배웁니다.
Java 컬렉션 프레임워크의 Queue 인터페이스는 큐 데이터 구조의 기능을 제공합니다. 그것은 Collection 인터페이스를 상속합니다.
Queue는 인터페이스이므로 직접 구현을 제공할 수 없습니다.
Queue의 기능을 사용하려면 그 구현 클래스를 사용해야 합니다:
Queue 인터페이스는 다양한 서브 인터페이스를 상속할 수 있습니다:
Deque
BlockingQueue
BlockingDeque
큐에서는 다음과 같이 사용됩니다:First In First Out그런 방식으로 요소를 저장하고 접근합니다. 즉,요소를 뒤에서 추가하고 앞에서 요소를 제거하는 방식으로 요소를 저장하고 접근합니다.。
Java에서는 Queue를 사용하려면 java.util.Queue 패키지를 가져와야 합니다。
// LinkedList를 사용하여 생성 Queue<String> animal1 = new LinkedList<>(); // ArrayDeque를 사용하여 생성 Queue<String> animal2 = new ArrayDeque<>(); // PriorityQueue를 사용하여 생성 Queue<String> animal 3 = new PriorityQueue<>();
여기서, LinkedList, ArrayDeque, PriorityQueue의 객체 Animal을 각각 생성합니다1،Animal2와 Animal3. 이 객체는 Queue 인터페이스의 기능을 사용할 수 있습니다.
Queue 인터페이스는 Collection 인터페이스의 모든 메서드를 포함합니다. 이는 Collection이 Queue의 슈퍼 인터페이스이기 때문입니다.
Queue 인터페이스의 일부 일반적인 메서드는 다음과 같습니다:
add() - 지정된 요소를 큐에 삽입합니다. 작업이 성공하면 add()이 true를 반환하며, 실패하면 예외를 발생시킵니다.
offer() - 지정된 요소를 큐에 삽입합니다. 작업이 성공하면 offer()이 true를 반환하며, 실패하면 false를 반환합니다.
element() - 큐의 앞부분을 반환합니다. 큐가 비어 있으면 예외를 발생시킵니다.
peek() - 큐의 앞부분을 반환합니다. 큐가 비어 있으면 null을 반환합니다.
remove() - 대상을 반환하고 제거합니다. 큐가 비어 있으면 예외를 발생시킵니다.
poll() - 대상을 반환하고 제거합니다. 큐가 비어 있으면 null을 반환합니다.
1. LinkedList 클래스 구현
import java.util.Queue; import java.util.LinkedList; class Main { public static void main(String[] args) { // LinkedList 클래스를 사용하여 Queue를 생성 Queue<Integer> numbers = new LinkedList<>(); //요소를 Queue에 추가 numbers.offer(1); numbers.offer(2); numbers.offer(3); System.out.println("Queue: " + numbers); // Queue의 요소 접근 int accessedNumber = numbers.peek(); System.out.println("요소 접근: "); + accessedNumber); //Queue 요소에서 int removedNumber = numbers.poll(); System.out.println("요소 제거: "); + removedNumber); System.out.println("업데이트된 Queue: "); + numbers); } }
출력 결과
Queue: [1, 2, 3] 요소 접근: 1 요소 제거: 1 업데이트된 Queue: [2, 3]
更多信息를 원하시면 방문해 주세요Java LinkedList。
2. PriorityQueue 클래스 구현
import java.util.Queue; import java.util.PriorityQueue; class Main { public static void main(String[] args) { // PriorityQueue 클래스를 사용하여 큐를 생성 Queue<Integer> numbers = new PriorityQueue<>(); //요소를 Queue에 추가 numbers.offer(5); numbers.offer(1); numbers.offer(2); System.out.println("Queue: " + numbers); //Queue의 요소 접근 int accessedNumber = numbers.peek(); System.out.println("요소 접근: "); + accessedNumber); //Queue에서 요소 제거 int removedNumber = numbers.poll(); System.out.println("요소 제거: "); + removedNumber); System.out.println("업데이트된 Queue: "); + numbers); } }
출력 결과
Queue: [1, 5, 2] 요소 접근: 1 요소 제거: 1 업데이트된 Queue: [2, 5]
更多信息를 원하시면 방문해 주세요Java PriorityQueue。
다음 튜토리얼에서는 Queue 인터페이스의 다양한 서브 인터페이스와其实제를 자세히 설명할 것입니다.