큐(Queue)
- 선입선출(FIFO) : 가장 먼저 삽입된 요소가 가장 먼저 삭제된다.
- 선입선출은 양방향(front, rear)에서 이뤄진다.
- 너비 우선 탐색(BFS)에서 자주 사용한다.
Queue 사용하기
- Queue 선언
Queue<Integer> queue = new LinkedList<>();
보통 LinkedList를 이용한다.
삽입 : queue.offer(x), queue.add(x)
queue.offer(1); // 삽입 실패 시 false 반환
queue.add(1); // 삽입 실패 시 IllegalStateException
rear에 값을 삽입한다.
삭제 : queue.poll(), queue.remove()
int a = queue.poll(); // 큐가 비어있다면 null 반환
int a = queue.remove(); // 큐가 비어있다면 NoSuchElementException
front의 값을 조회하고, 삭제한다.
조회 : queue.peek(), queue.element()
int a = queue.element(); // 큐가 비어있다면 null 반환
int a = queue.peek(); // 큐가 비어있다면 NoSuchElementException
front의 값을 조회한다.
'공부 기록 > Java' 카테고리의 다른 글
[JPA] 2장 - JPA 애플리케이션 개발 (0) | 2023.06.11 |
---|---|
[JPA] 1장 - 스프링부트 프로젝트와 H2 데이터베이스 연결하기 (0) | 2023.06.11 |
[Java] 문자열(String), 숫자(int, double, float, long, short) 형변환 (0) | 2023.05.04 |
[Java] POJO (0) | 2023.05.04 |
[Java] LinkedList - List, Deque의 구현 (0) | 2023.05.04 |