반응형
Java에서 Queue는 java.util 패키지에서 Queue 클래스로 제공한다.
큐는 FIFO, LILO 구조로, 먼저 들어간 데이터가 먼저 꺼내진다.
- Enqueue 하는 메서드 add(value), offer(value) 제공
- Dequeue 하는 메서드 remove(), poll() 제공
- 맨 앞에 있는 요소를 꺼내는 메서드 element(), peek() 제공
사용방법
Queue<Integer> queue = new LinkenList<>();
queue.add(1);
queue.offer(2);
//현재 queue에는 1,2가 담겨있음
queue.remove(); //1꺼내짐
queue.poll(); //2꺼내짐
queue.element(); //큐가 비어서 예외 발생
queue.peek(); //큐가 비어서 null 반환
add()와 offer의 차이점
add(value) | offer(value) | |
요소 추가 성공했을때 | true | true |
큐가 꽉 차서 요소 추가 실패했을때 | illegalStateException 예외 발생 | false |
remove()와 poll()의 차이점
remove() | poll() | |
요소 꺼내고 큐에서 삭제 성공했을때 | value | value |
큐가 비어서 요소 꺼내기 실패했을때 | NoSuchElementException 예외 발생 | null |
element()와 peek()의 차이점
element() | peek() | |
큐의 맨 앞에 있는 값 반환 | value | value |
큐가 비어서 실패했을때 | NoSuchElementException 예외 발생 | null |
* add(value), remove(), element() 와 offer(value), poll(), peek()의 차이점은?
예외를 발생시키는가 아니면 null이나 false를 반환하는가!!
반응형
'Java' 카테고리의 다른 글
[이펙티브 자바] Item 61. 박싱된 기본 타입보다는 기본 타입을 사용하라 (0) | 2023.01.30 |
---|---|
Stack에 대하여 (2) | 2022.10.05 |
[Java] POI 라이브러리 엑셀 다운로드 (0) | 2022.05.18 |
System.getProperty() 란? (0) | 2022.03.30 |
[Java] Java8 Stream 사용법 (0) | 2022.03.29 |