코테/자료구조
큐 (Queue)
EnoughTT
2023. 8. 3. 10:21
큐 (Queue)
가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식
프로세스 스케쥴링에 많이 쓰임
큐 (Queue) 선언
큐는 java.util 패키지 LinkedList 를 사용해 선언해야 함
import java.util.LinkedList;
import java.util.Queue;
Queue<Integer> queue = new LinkedList<>();
큐 (Queue) 추가
/*
* 해당 큐 맨 뒤에 값 삽입
* 값 추가 성공 시 true 반환
*/
queue.add(1); // 큐가 꽉 찬 경우 IllegalStateException 에러 발생
queue.offer(2); // 값 추가 실패 시 false 반환
큐 (Queue) 제거
// 큐 맨 앞에 있는 값 반환 후 삭제
queue.remove(); // 큐가 비어 있는 경우 NoSuchElementException 에러 발생
queue.poll(); // 큐가 비어있을 경우 null 반환
// 큐 비움
queue.clear();
큐 (Queue) 값 확인
// 큐의 앞쪽 값 확인
queue.element(); // 큐가 비어 있는 경우 NoSuchElementException 에러 발생
queue.peek(); // 비어있을 경우 null 반환