Java

[Java] Queue의 add/offer, remove/poll, element/peek 의 차이

bornsoon 2025. 5. 3. 17:45
import java.util.Queue;

public class Main {
    public static void main(String[] args) {
    // Queue 선언
    Queue<Integer> q = new LinkedList<>();
    
    // 추가
    q.add(x);
    q.offer(x);
    
    // 제거
    q.remove();
    q.poll();
    q.clear();
    
    // 맨 앞 값 조회
    q.element();
    q.peek();
    
    }
}

 

<차이점>

에러를 발생

        or

null 또는 false 반환

 

추가

  • add()
    • 값 추가 성공 시 true 반환
    • 큐가 꽉 찬 경우 IllegalStateException 에러 발생
  • offer()
    • 값 추가 성공 시 true 반환
    • 값 추가 실패 시 false 반환

 

제거

  • remove()
    • 큐 맨 앞에 있는 값 반환 후 삭제
    • 큐가 비어 있는 경우 NoSuchElementException 에러 발생
  • offer()
    • 큐 맨 앞에 있는 값 반환 후 삭제
    • 큐가 비어 있을 경우 null 반환
  • clear()
    • 큐 비우기

 

맨 앞 값 조회

  • element()
    • 맨 앞 값 반환
    • 큐가 비어 있는 경우 NoSuchElementException 에러 발생
  • peek()
    • 맨 앞 값 반환
    • 큐가 비어 있을 경우 시 null 반환
728x90

'Java' 카테고리의 다른 글

[Java] 시간 초과  (0) 2025.05.03
[Java] RuntimeException  (0) 2025.05.03
[Java] 접근 제어자  (0) 2025.05.03
[Java] Map.Entry<K, V> / Map의 key, value 접근법  (0) 2025.05.01
[Java] LinkedHashMap과 HashMap의 차이  (0) 2025.05.01