[JAVA] 큐(Queue) 메소드 정리

세하·2025년 5월 3일

JAVA

목록 보기
11/17

큐(Queue)

✔ FIFO 구조 (First In First Out)
✔ front는 삭제 연산 수행
✔ rear는 삽입 연산 수행
그래프의 너비 우선 탐색 (Breadth First Search: BFS)에 사용

탐색을 시작하는 정점을 Queue 에 넣는다.(enqueue) 그리고 dequeue 를 하면서 dequeue 하는 정점과 간선으로 연결되어 있는 정점들을 enqueue 한다.

(참고 : 깊이 우선 탐색 (Depth First Search: DFS)에는 자료구조로 Stack을 사용한다.)

✔ 컴퓨터 버퍼에서 주로 사용

큐 선언

import java.util.LinkedList;
import java.util.Queue;

Queue<Integer> queue = new LinkedList<>();
Queue<String> queue = new LinkedList<>();

LinkedList를 활용하여 생성

요소 삽입

Queue<Integer> queue = new LinkedList<>();

queue.offer(1); //값 추가 실패시 false 리턴
queue.add(2); //값 추가 실패시 예외를 발생시킨다
queue.offer(3);
queue.add(4);

System.out.println(queue);
-----출력결과-----
[1, 2, 3, 4]

요소 삭제

int removed = queue.poll();
System.out.println(removed);
System.out.println(queue);

queue.clear();
System.out.println(queue);
-----출력결과-----
1
[2, 3, 4]
[]

요소 확인

queue.offer(5);
queue.offer(6);
queue.offer(7);
queue.offer(8);

System.out.println(queue.peek());
-----출력결과-----
5

정리

enqueue : 성공시 true 리턴

  • add() : 실패시 예외 발생
  • offer() : 실패시 false 리턴

dequeue : 성공시 제거한 값 리턴

  • remove() : 실패시 예외 발생
  • poll() : 실패시 null 리턴

peek : 성공시 확인한 값 리턴

  • element() : 실패시 예외 발생
  • peek() : 실패시 null 리턴

그 외

  • size() : 큐 사이즈 int형 리턴
  • clear() : 큐 초기화
  • contains(찾을 value) : 해당 원소 존재하는지 검색, boolean값 리턴
  • isEmpty() : boolean값 리턴

0개의 댓글