Queue는 요소의 추가를 위해 'add'와 'offer' 2가지 메소드를 제공한다.(공식문서)
boolean offer(Object o) {}
void add(Object o) throws Exception {}
offer는 실패시 false를 반환하지만, add는 throw를 던진다.
비슷하게는 poll과 remove가 있다.
사용의 유연성을 위해 2가지의 메소드를 제공하는 것 같지만, 기본적으로 offer와 poll을 사용하는 편이 안정적일 것 같다.
데크도 queue와 마찬가지로 add, remove, get을 사용하는 경우는 Exception을 던지고, offer, poll, peek를 사용하는 경우는 에러를 발생시키지 않는다.