큐는 선입선출의 자료구조입니다.
그래서 먼저 입력된 데이터가 먼저 출력되는 구조를 가지고 있습니다.
매표소를 생각하면 이해가 쉽습니다. 먼저 표를 끊으면, 먼저 입장이 가능합니다.
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
}
}