코테/자료구조

큐 (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 반환

'코테 > 자료구조' 카테고리의 다른 글

해쉬 테이블 (HashTable)  (0) 2023.08.15
링크드 리스트 (Linked List) - 2  (0) 2023.08.10
링크드 리스트 (Linked List) - 1  (0) 2023.08.10
스택 (Stack)  (0) 2023.08.03
배열 (Array)  (0) 2023.07.28