큐의 연산에는 여러 가지가 있는데 알고리즘 문제를 풀 던 중 왜 add 보다 offer를 사람들이 쓰는 것일까 궁금증을 가지게 되었다. 그래서 찾아본 같지만 다른 큐의 연산자들!
[add와 offer]
add와 offer는 똑같이 Queue에 요소를 삽입하는 연산이다.
하지만, add 는 크기 제한이 넘은 경우 예외를 발생시키고 예외처리를 하지 않았다면 비정상적으로 프로그램을 종료한다.
반면에 offer는 크기 제한이 넘어도 예외를 발생시키진 않지만 삽입이 되었다는 사실을 사용자가 직접 확인해야 한다.
- add : 요소를 큐에 추가 하는 메서드. 큐의 용량이 초과되면 예외(IllegalStateException)를 던짐
- offer : 요소를 큐에 추가 하는 메서드. 큐의 용량이 초과되면 false를 반환
[remove와 poll]
remove 과 poll는 똑같이 Queue에 요소의 값을 빼서 반환하는 메서드이다.
하지만 remove 는 큐가 비어 있을 경우 예외를 반환하지만 poll은 null을 리턴한다.
- remove : 큐에서 값을 빼서 반환하는 메서드. 큐의 용량이 비어 있다면 예외(NoSuchElementException)를 발생시킴
- poll : 큐에서 값을 빼서 반환하는 메서드. 큐가 비어있을 경우 null을 반환한다.
'알고리즘' 카테고리의 다른 글
백준 - 2164 (카드2) (0) | 2025.01.08 |
---|---|
백준 - 1874 (스택 수열) (0) | 2025.01.06 |
자료 구조 - 스택과 큐 (0) | 2025.01.05 |
백준 - 1940(주몽) (1) | 2024.12.15 |
백준 - 2018 (수들의 합 5) (0) | 2024.12.11 |