반응형
    
    
    
  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 |