LANGUAGE/JAVA

[JAVA] Queue(큐)& Deque(덱) 라이브러리 정리

GaGah 2020. 5. 11. 11:53

Queue(큐)

- 선입선출(FIFO) : 먼저 들어온 데이터가 먼저 나간다.

- LILO(Last-in, Last- Out)

- 스택과는 반대개념

- import java.util.*;

- Queue<T> queue = new LinkedList<>();

ex) Queue<String> q = new LinkedList<>();

<Queue>

1. add() : 큐에 데이터 삽입

2. peek() : 가장 먼저 큐에 들어간 데이터 반환

3. remove() : 가장 먼저 큐에 들어간 데이터 삭제 및 반환

4. isEmpty() : 큐가 비어있는지 반환

5. size() : 큐에 있는 요소의 크기 반환

Deque(덱)

- Double-ended queue의 줄임말

- 연결리스트로 이루어지며, 앞&뒤 모두 데이터의 삭제와 삽입이 일어남

- import java.util.LinkedList;

- import java.util.Queue;

- Deque<T> deque = new LinkedList<>();

ex) Deque<String> q = new LinkedList<>();

<Deque>

1. addFirst() : 앞에 요소 삽입

2. addLast() : 뒤에 요소 삽입

3. peekFirst() : 앞 요소 반환

4. peekLast() : 뒤 요소 반환

5. pollFirst() : 앞 요소 없애면서 반환

6. pollLast() : 뒤 요소 없애면서 반환

// 참고로, First, Last를 쓰지 않으면 default 값이 first다!

// 그래서 deque.add(3); 라고 적으면, deque.addFirst(3); 와 같다!

LIST