큐
는 선입선출
의 자료구조입니다.
그래서 먼저 입력된 데이터가 먼저 출력되는 구조를 가지고 있습니다.
매표소를 생각하면 이해가 쉽습니다. 먼저 표를 끊으면, 먼저 입장이 가능합니다.
FIFO (First In First Out)
막대 모양으로 된 큐입니다. 크기 제한이 있고 빈 공간을 사용하려면, 모든 자료를 꺼내거나 한 칸씩 옮겨야 합니다.
선형큐의 문제점을 보완한 일명 원형큐입니다. 큐가 끝나면 맨 앞으로 자료를 보내서 원형으로 연결합니다.
Method | Return | Exception | Description |
---|---|---|---|
offer(E e) | boolean | X | 데이터 삽입 |
add(E e) | boolean | O | 데이터 삽입 |
poll() | E Or Null | X | front 데이터 반환 후 제거 |
remove(E e) | E | O | 특정 데이터 제거 |
peek() | E Or Null | X | front 데이터 반환 |
element() | E | O | front 데이터 반환 |
import java.util.LinkedList; import java.util.Queue; public class JavaQueue { public static void main(String[] args) { Queue<String> queue = new LinkedList<String>(); //enqueue queue.offer("A"); queue.add("B"); queue.add("C"); queue.add("D"); queue.add("E"); System.out.println(queue.peek()); //A //dequeue queue.poll(); System.out.println(queue.peek()); //B //remove queue.remove("D"); System.out.println(queue); //[B, C, E] //element System.out.println(queue.element()); //B } }