자바 Queue의 특징
먼저 들어간 변수가 먼저 나오는 선입선출 (First in First out) 형태이다.
변수를 집어넣은 순서대로만 꺼낼 수 있으며, Queue의 한가운데에 있는 변수만 꺼내는 것은 불가능하다.
주요 메소드
boolean add(E e)
- Queue에 원소를 추가한다. 성공적으로 추가하면 true를 반환하고, 공간 부족으로 인해 실패하면 IllegalStateException 이 발생한다.
boolean offer(E e)
- Queue에 원소를 추가한다. 성공적으로 추가하면 true를 반환하고 실패하면 false를 반환한다.
E remove()
- Queue의 가장 먼저 들어간 원소를 제거하며, 그 원소를 return한다. Queue가 비어있으면 NoSuchElementException이 발생한다.
E poll()
- Queue의 가장 먼저 들어간 원소를 제거하며, 그 원소를 return한다. Queue가 비어있으면 null을 반환한다.
E element()
- Queue의 가장 먼저 들어간 원소를 반환하지만 제거하지 않는다. Queue가 비어있으면 NoSuchElementException이 발생한다.
E peek()
- Queue의 가장 먼저 들어간 원소를 반환하지만 제거하지 않는다. Queue가 비어있으면 null을 반환한다.
Exception이 발생하는 메소드 | Exception이외의 값을 return하는 메소드 | |
추가 | add() | offer() |
제거 | remove() | poll() |
확인 | element() | peek() |
Queue 변수의 생성
import java.util.Queue;
import java.util.LinkedList;
Queue <Integer> queue = new LinkedList<>();
Queue를 사용하기 위해서는 Queue와 LinkedList 두 가지 모두를 import 해야한다.
Queue에 변수 추가하기
queue.add(1);
queue.add(2);
queue.add(3);
queue에 순서대로 1, 2, 3을 추가한다.
Queue의 변수 꺼내기
queue.remove(); // 가장 먼저 들어간 1 이 제거된다.
queue.remove(); // 다음 들어간 2 가 제거된다.
queue.remove(); // 마지막으로 들어간 3이 제거된다.
// queue는 현재 비어있는 상태.
queue.peek(); // queue의 첫 번째 원소를 확인하지만, queue가 비어있으므로 null이 return된다.
queue.element(); // queue의 첫 번째 원소를 확인하지만, queue가 비어있으므로 NoSuchElementException이 발생한다.
'자료구조' 카테고리의 다른 글
[Java] 벡터 Vector (0) | 2021.05.30 |
---|---|
[Java] PriorityQueue와 Queue의 차이 (0) | 2021.04.16 |
정규표현식 주요 표현 정리 (0) | 2021.02.26 |
[Java] 해쉬맵 HashMap (0) | 2021.02.16 |
댓글