Java Queue에서 poll() 이해하기

Yoon Soojeong·2025년 12월 5일

01. Queue의 제네릭 구조

  • Java에서 Queue는 이렇게 선언되어 있다.
public interface Queue<E>

-> 여기서 E는 Element Type, 큐에 저장되는 데이터의 타입을 의미한다.

02. poll() 메서드 정의

IntelliJ에서 확인한 내용이다.

해석하면,

큐의 맨 앞 데이터를 꺼내고 제거한 뒤, 그 값을 반환
큐가 비어있으면 null을 반환한다.

03. E가 의미하는 것

  • E는 반환 타입 그 자체가 아니라
    Queue에 어떤 타입을 넣었는지에 따라 결정되는 제네릭 타입 변수이다. (가변!)
  • ex)
Queue<Integer> q = new LinkedList<>();

-> 이 경우 E는 Integer이다. 따라서, 아래의 코드가 실행 가능하다!

Integer value = q.poll();

04. remove()와의 차이

메서드큐가 비어있을 때특징
poll()null 반환안전한 반환 방식
remove()NoSuchElementException 발생비어있지 않다고 보장될때 사용!

0개의 댓글