자바(SE)
[자료구조]Queue - add vs offer
은서파
2019. 12. 22. 21:19
자바 API에서 FIFO를 처리하기 위해 Queue를 사용할 수 있는데 유사한 메서드들이 있어서 차이점을 정리하고 가보자.
Queue에 데이터를 추가, 삭제, 검색할 때 제공되는 메서드들의 차이는 기능적인 것은 아니며 문제 상황에서 예외를 던지느냐 아니면 null 또는 false를 반환하느냐에 있다.
예외 발생 | 값 리턴 | |
추가(enqueue) | add(e) | offer(e) |
삭제(dequeue) | remove() | poll() |
검사(peek) | element() | peek() |
즉 enqueue 동작 처리를 위해서 데이터를 추가해야하는데 이미 큐가 꽉 찬 경우 add는 예외를 발생시키지만 offer는 추가 실패를 의미하는 false를 리턴한다.