Java

Queue 에 대하여

nan2 2022. 10. 5. 12:54
반응형

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를 반환하는가!!

반응형