[Java] Queue 인터페이스
Queue 자료구조
(추후 블로깅 예정)
Queue interface 사용법
Queue 선언
Queue 인터페이스는 Collection 프레임워크를 상속받으며, LinkedList, PriorityQueue 클래스 등으로 구현할 수 있다.
import java.util.Queue;
public interface Queue<E> extends Collection<E>
Queue<Integer> queue = new LinkedList<>();
Queue 메소드 목록
큐의 메소드는 두가지 형태로 되어있다. 하나는 만약 연산에 실패하게 된다면 예외를 던지고, 다른 하나는 특별한 값(null값이나 false)를 리턴한다.
Queue 값 추가
queue는 FIFO 구조이기 때문에 rear(뒤)부터 값이 추가된다.
public boolean add(E e)
성공 시 true를 반환하고 현재 사용 가능한 공간이 없는 경우 IllegalStateException 예외를 발생시킨다.
public boolean offer(E e)
성공 시 true를 반환하고 현재 사용 가능한 공간이 없는 경우 false을 발생시킨다.
queue.add(1);
queue.add(2);
queue.poll(3);
queue.poll(4);
Queue 값 제거
queue는 FIFO 구조이기 때문에 front(앞)부터 값이 제거된다.
public E remove()
성공 시 제거한 값을 반환하고, queue가 비어져 있으면 NoSuchElementException 예외를 발생시킨다.
public E poll()
성공 시 제거한 값을 반환하고, queue가 비어져 있으면 null을 리턴한다.
queue.remove();
queue.poll();
Queue 값 조회
queue는 FIFO 구조이기 때문에 front(앞)부터 값이 조회된다.
public E element()
큐의 front를 반환하고, queue가 비어져 있으면 NoSuchElementException 예외를 발생시킨다.
public E peek()
큐의 front를 반환하고, queue가 비어져 있으면 null을 리턴한다.
queue.element(); //3
queue.peek(); //3