Queue 인터페이스는 자바 컬렉션 프레임워크에서 큐(큐는 선입선출, FIFO 구조를 가진 자료구조)를 구현하기 위한 인터페이스입니다. Queue는 Collection 인터페이스를 상속하며, 큐의 기본 동작과 관련된 메서드를 정의하고 있습니다.
주요 메서드 및 특징
1. 요소 추가 및 제거
- add(e) 또는 offer(e): 큐에 요소를 추가합니다.
- remove() 또는 poll(): 큐에서 요소를 제거하고 반환합니다.
2. 요소 접근
element() 또는 peek(): 큐의 맨 앞에 있는 요소를 반환하지만 제거하지 않습니다.
3. 기타 메서드
- size(): 큐에 포함된 요소의 개수를 반환합니다.
- isEmpty(): 큐가 비어있는지 여부를 확인합니다.
- clear(): 큐의 모든 요소를 제거합니다.
구현 클래스
자바에서는 Queue 인터페이스를 구현한 여러 클래스가 제공됩니다. 그 중에서 대표적인 것은 다음과 같습니다.
1. LinkedList
일반적인 큐의 구현체로 사용됩니다. LinkedList 클래스는 Queue 인터페이스를 구현하고 있어 큐로 사용할 수 있습니다.
Queue<String> queue = new LinkedList<>();
2. PriorityQueue
우선순위 큐를 구현한 클래스로, 각 요소는 우선순위에 따라 정렬됩니다.
Queue<Integer> priorityQueue = new PriorityQueue<>();
사용 예제
import java.util.LinkedList;
import java.util.Queue;
public class QueueExample {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<>();
// 요소 추가
queue.add("Apple");
queue.offer("Banana");
queue.add("Orange");
// 요소 확인
System.out.println("Front element: " + queue.element());
// 요소 제거
String removedElement = queue.remove();
System.out.println("Removed element: " + removedElement);
// 큐 순회
System.out.println("Queue elements:");
for (String element : queue) {
System.out.println(element);
}
}
}
위의 예제에서 LinkedList를 사용하여 Queue를 구현하고, add, element, remove 메서드를 사용하여 큐의 기본 동작을 수행하였습니다. 실제로 큐를 활용할 때에는 사용 목적과 상황에 맞게 LinkedList나 PriorityQueue 등을 선택하여 활용하면 됩니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 컬렉션 프레임워크 ListIterator (0) | 2023.11.18 |
---|---|
자바 컬렉션 프레임워크 Iterator (0) | 2023.11.18 |
자바 컬렉션 프레임워크 Stack (0) | 2023.11.18 |
자바 컬렉션 프레임워크 LinkedList (0) | 2023.11.18 |
자바 컬렉션 프레임워크 ArrayList (0) | 2023.11.18 |