[자료구조] Queue - Java

yseo14·2024년 3월 12일

코딩테스트 대비

목록 보기
2/88

Queue란?

FIFO(First In First Out)이라는 말 처럼 처음 들어온 데이터가 제일 먼저 나가게 되는 자료구조이다.

특징

  • FIFO 구조이다.
  • 한 쪽 끝은 front로 정하여 삭제만 수행한다.
  • 반대 쪽 끝은 rear로 정하여 삽입만 수행한다.
  • 그래프의 너비우선탐색에 사용된다.

Queue의 사용

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

Queue<Integer> q = new LinkedList<>(); 
Queue<String> q = new LinkedList<>(); 
  • 자바에서 Queue는 LinkedList를 활용하여 생성해야한다.

Enqueue

큐 맨 뒤에 데이터를 삽입하는 것

Enqueue 기능을 수행하는 메서드

  • q.add() : 성공시 true를 return하고, 실패시 예외를 발생시킨다.
  • q.offer() : 성공시 true를 return하고, 실패시 false를 return한다.

Dequeue

큐 제일 앞에서 데이터가 삭제되는 것

Dequeue 기능을 수행하는 메서드

  • q.remove() : 성공시 제거한 값을 return하고, 실패시 예외를 발생시킨다.
  • q.poll() : 성공시 제거한 값을 return하고, 실패시 null을 return한다.

Peek

Queue에 가장 먼저 들어간 값을 리턴한다.

  • q.poll() : 값을 삭제하지는 않고 확인만 한다.

참고자료

profile
like the water flowing

0개의 댓글