Queue(큐)
- 데이터의 순서를 유지, 가장 먼저 들어온 데이터가 가장 먼저 나가는 자료 구조(선입선출 = FirstInFirstOut)
- 줄 서기, 인쇄 작업 처리, 프로세스 관리 등에서 사용
자바에서 큐의 주요 메서드
- add(요소값): 큐의 끝에 요소를 추가 (큐가 다 차면 예외 발생)
- offer(요소값): 큐의 끝에 요소를 추가 (큐가 다 차면 false 반환)
- remove(): 큐의 앞에서 요소를 제거하고 반환 (비어있으면 예외 발생)
- poll(): 큐의 앞에서 요소를 제거하고 반환 (비어있으면 null 반환)
- element(): 큐의 앞에 있는 요소를 반환 (비어있으면 예외 발생)
- peek(): 큐의 앞에 있는 요소를 반환 (비어있으면 null 반환)
- isEmpty(): 큐가 비어있는지 확인 (true / false)
- size(): 큐의 요소 개수 반환
예시
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
// 요소 추가 (enqueue)
queue.add(1); // 또는 queue.offer(1);
queue.add(2);
queue.add(3);
// 요소 확인 (peek)
System.out.println("Front element: " + queue.peek()); // 또는 queue.element();
// 요소 제거 (dequeue)
System.out.println("Removed element: " + queue.poll()); // 또는 queue.remove();
// 큐가 비어있는지 확인
System.out.println("Is queue empty? " + queue.isEmpty());
// 큐의 크기 확인
System.out.println("Queue size: " + queue.size());
}
}