[Java] Queue

2024. 12. 5. 18:34·JAVA

[ 목차 ]

    안녕하세요.

    오늘은 자바의 Queue 인터페이스에 대해 알아보겠습니다.

     

    Queue란?

    자바에서 Queue는 선입선출 구조를 가진 자료구조이다.

    java.util.Queue 인터페이스로 정의된다.

    LinkedList, PriorityQueue 등이 java.util.Queue 인터페이스를 구현한 대표적인 클래스들이다.

     

     

     

     

    offer(E e) / add(E e)

    큐의 맨 뒤에 요소를 추가한다.

     

    offer(E e) : 크기 제한으로 실패시 false를 반환한다.

    add(E e) : 크기 제한으로 실패시 IllegalStateException을 발생시킨다.

     

     

     

     

    poll() / remove()

    큐의 맨 앞에 있는 요소를 제거하고, 그 값을 반환한다.

     

    poll() : 큐가 비어있으면 null을 반환한다.

    remove() : 큐가 비어있으면 NoSuchElementException을 발생시킨다.

     

     

     

     

    peek() / element()

    큐의 맨 앞에 있는 요소를 반환한다. 제거는 하지 않는다.

     

    peek() : 큐가 비어있으면 null을 반환한다.

    element() : 큐가 비어있으면 NoSuchElementException을 발생시킨다.

     

     

     

     

     

    정리

    1. 큐는 선입선출하는 자료구조이다.

    2. java.util.Queue는 인터페이스이므로, LinkedList나 PriorityQueue 클래스로 구현해줘야한다.

    3. add / offer / poll / remove / peek / element 메서드가 있다.

    4. 실패 시 false(offer 실패 시) 또는 null 반환 - offer / poll / peek

    5. 실패 시 예외 발생 - add / remove/ element

     

     

     

     

    큐가 비어있거나 꽉 차있어도 예외처리 필요 없다. = offer / poll / peek

    오 폴 픽 !

     

    'JAVA' 카테고리의 다른 글

    [JAVA] 자바의 Map, 그리고 순회  (0) 2024.12.10
    [JAVA] 인터페이스란(Interface)? - 추상클래스와의 차이  (1) 2024.12.09
    [JAVA] Stack  (0) 2024.12.07
    [JAVA] Deque + 왜 LinkedList보다 ArrayDeque로 구현하는 것이 더 좋을까?  (0) 2024.12.06
    'JAVA' 카테고리의 다른 글
    • [JAVA] 자바의 Map, 그리고 순회
    • [JAVA] 인터페이스란(Interface)? - 추상클래스와의 차이
    • [JAVA] Stack
    • [JAVA] Deque + 왜 LinkedList보다 ArrayDeque로 구현하는 것이 더 좋을까?
    hyeblee
    hyeblee
    감자감자
    • hyeblee
      hyeblee
      hyeblee
    • 전체
      오늘
      어제
      • 분류 전체보기
        • PS
          • Programmers
          • BAEKJOON
          • CODETREE
        • ALGORITHM
        • JAVA
        • CS
          • 면접을 위한 CS전공지식
        • SPRING
        • 회고
    • 블로그 메뉴

      • 홈
      • 태그
      • 방명록
    • 링크

      • 깃허브
    • 공지사항

    • 인기 글

    • 태그

      알고리즘
      탐색
      백준
      자바
      BFS
      흐른 시간 계산
      dfs
      구간 칠하기
      플레이데이터 백엔드 부트캠프
      backjoon
      날짜와 시간 계산
      arrays.sort #collections.sort #list.sort #객체정렬 #배열정렬 #timsort #dual pivot quicksort #정렬 #자바
      흐른 일수 계산
      spring #스프링 #스프링부트 #springboot #please sign in
      플레이데이터 백엔드 후기
      16954
      15652
      플레이데이터 백엔드
      플레이데이터 백엔드 부트캠프 후기
      숨바꼭질3
      하한값
      java #deque #자바 #덱
      상한값
      java
      반닫힌 구간
      java #스프링부트 #자바버전 #자바 버전 충돌 #jvm
      spring #springboot #스프링 #스프링부트
      BOJ
      왔다 갔던 구역2
      백트래킹
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    hyeblee
    [Java] Queue
    상단으로

    티스토리툴바