Language/Java

[Java] Queue 인터페이스

강서월 2023. 7. 5. 15:29

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