728x90
구조
FIFO (First In First Out) 구조로 먼저 들어온게 먼저 나가는 구조

Enqueue : 큐에 데이터 추가
Dequeue : 큐에 데이터 삭제
특징
1. 한쪽은 프론트(front)로 정하여 삭제 연산만 진행
2. 다른 한쪽은 리어(rear)로 정하여 삽입 연산만 진행
3. 그래프의 넓이 탐색(BFS)에 주로 사용
4. 컴퓨터 버퍼 및 자격증, 온라인 행사 등 많은 인입이 들어와서 처리하지 못하는 경우, 큐를 만들어서 대기를 시키는 구조로 사용
큐 생성
import java.util.LinkedList; //import
import java.util.Queue; //import
// int 형
Queue<Integer> queueInt = new LinkedList<>();
// String 형
Queue<String> queueString = new LinkedList<>();
데이터 추가
| add | 성공 시 true | 실패 시 Exception |
| offer | 성공 시 true | 실패 시 false |
queueInt.add(5);
queueInt.add(4);
queueInt.add(3);
queueInt.add(2);
queueInt.add(1);
System.out.println(queueInt);
// [5, 4, 3, 2, 1]
데이터 삭제
| remove | 성공 시 true | 실패 시 Exception |
| poll | 성송 시 true | 실패 시 값 리턴 |
queueInt.remove();
queueInt.remove();
queueInt.remove();
System.out.println(queueInt);
// [3, 2, 1]
데이터 검증
| element | 성공 시 true | 실패 시 Exception |
| peek | 성공 시 true | 실패 시 값 리턴 |
queueInt.element();
queueInt.peek();
BFS 탐색에서 사용하는 내용은 추후에...
728x90
반응형
LIST
'BE > Java' 카테고리의 다른 글
| JWT(Json Web Token) 이란? (1) | 2024.06.11 |
|---|---|
| Scanner vs BufferReader (0) | 2024.06.03 |
| Stack 이란? (0) | 2024.02.13 |
| Springboot에서 ServletInitializer를 상속받아야 하는 이유? (0) | 2024.01.16 |
| War build 시 Springboot가 올라오지 않는 이유 (0) | 2024.01.16 |