반응형

🚀

자바에서 큐를 사용하면서 값 추가, 삭제, 검색 메서드가 2개씩 있어서
어떠한 차이점이 있는지 알아보기 위해 정리해봤습니다.

 

⭐️ Queue 선언

Queue<Integer> q = new LinkedList<>();

Integer형 선언

 

⭐️ Queue에 값 추가

q.add(x);
q.offer(x);

1. add()

  • 해당 큐 맨 뒤에 값 삽입
  • 값 추가 성공 시 true 반환
  • 큐가 꽉 찬 경우 IllegalStateException 에러 발생

2. offer()

  • 해당 큐 맨 뒤에 값 삽입
  • 값 추가 성공 시 true 반환
  • 값 추가 실패 시 false 반환

 

⭐️ Queue에 값 제거

q.remove();
q.poll();
q.clear();

1. remove()

  • 큐 맨 앞에 있는 값 반환 후 삭제
  • 큐가 비어 있는 경우 NoSuchElementException 에러 발생

2. poll()

  • 큐 맨 앞에 있는 값 반환 후 삭제
  • 큐가 비어있을 경우 null 반환

3. clear()

  • 큐 비우기

 

⭐️ Queue의 맨 앞 값 확인

q.element();
q.peek();

1. element()

  • 큐의 맨 앞에 있는 값 반환
  • 큐가 비어 있는 경우 NoSuchElementException 에러 발생

2. peek()

  • 큐의 맨 앞에 있는 값 반환
  • 비어있을 경우 null 반환

 

 

🧐

Queue에서 데이터를 추가, 삭제, 검색할 때 제공되는 메서드들의 차이는
문제 상황에서 에러를 발생시키느냐(add, remove, element)
아니면 null 혹은 false를 반환(offer, poll, peek) 하는가입니다.

반응형

+ Recent posts