인프런 커뮤니티 질문&답변
queue에 값을 추가하는 메서드는 어떤 차이가 있나요?
작성
·
21
·
수정됨
0
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요!
마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요.
커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요.
편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~
Queue에 값을 추가하는 메서드는
enque
offer
두 가지가 있다고 강의에서 말씀 주셨습니다.
둘 다 똑같이 값을 추가하는걸까요?
만약 맞다면, 어떤 차이점이 있는지 궁금합니다.
(어떤 상황에서 사용되는지도 궁금해요.)
+추가적으로, queue.poll() 이 dequeue다 라고 말씀 주셨는데,
둘도 어떤 차이가 있는지. 어떤 상황에서 사용하는지도 궁금합니다!
답변 1
0
안녕하세요 겁많은 김앙리님!
강의에서
queue.enqueue() 를 처음 예시로 설명드린건 실제로 있는 메서드는 아니고, 대명사같은거라고 보시면 됩니다.
queue를 구현하게 되면 enqueue의 동작을 하는 메서드를 만들어야 됩니다.(라이브러리를 사용하면 enqueue에 해당하는 메서드가 이미 구현되어있겠죠.)
자바에서는 enqueue에 해당하는 메서드가 크게 두가지 있습니다.
add()
offer()
기본적으로 queue의 맨 뒤에 데이터를 추가한다는점은 같지만 가장 큰 차이점은 예외처리 방식입니다.

여기서 예외발생을 시켜서 try catch를 할것인가, 아니면 실패시 간단히 false를 반환해서 조건문으로 감지를 할것인가 선택을 해야겠죠!
한동안 저는 add를 썼습니다. 예외발생 처리하는게 저는 더 안전하다고 봐서요!
다만 대부분의 자바 유저분들이 offer 메서드를 쓰는걸 확인해서, 익숙하게 느낄 offer메서드를 위주로 강의에서 소개해드렸습니다.
답글을 달고 있다보니, add가 다시 끌리기도하네요.
궁금한게 있으면 편하게 질문 주세요~




