개발/Java

[JAVA] Queue 사용법 (add,offer / remove,poll / element, peek)

Dane.Kim 2023. 10. 21.

자바에서 큐를 사용하다가, 두 가지씩 존재하는 추가, 삭제, 검색 메소드의 차이가 궁금해져서 정리

 

먼저 Queue 선언

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

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

 

1. add, offer

queue.add(x);
queue.offer(x);

add와 offer 는 

공통점 : 큐 맨 뒤에 값 삽입, 값 추가 성공 시 true 반환

차이점 : add는 큐가 꽉찬 경우 illegalStatieException 에러 반환 , offer는 값 추가 실패시 false 반환

 

2. remove, poll (+ clear)

queue.remove();
queue.poll();

queue.clear();

remove와 poll 은

공통점 : 큐 맨 앞에 있는 값 반환 후 삭제

차이점 : remove는 큐가 비어있을 때 NoSuchElementException 에러 반환 , poll은 null 반환

 

clear 는 큐 비우는 용.

 

3. element, peek

 

queue.element();
queue.peek();

remove,poll과 같은 차이를 보여주지만, 이 둘은 값을 반환할 뿐 삭제는 하지 않는다.

댓글