728x90
반응형
큐(QUEUE) 란?
사전적인 의미로 '대기줄' 이라는 의미를 가지고 있다.
큐는 스택과 다르게 포인터가 두군데가 있는데 삽입 연산만 수행되는 rear 와 삭제 연산만 수행되는 front 가 있다.
제일 먼저 들어온 데이터가 가장 먼저 나가는 구조로 FIFO (First In First Out) 이다.
사용예시
- 은행창구 번호표 대기
- 프린터 출력
- 컴퓨터 운영체제의 테스크 스케쥴링
- 너비 우선 탐색
선언방법
Queue<String> queue = new LinkedList<>();
queue는 인터페이스만 존재하고 별도의 클래스가 없기 때문에 LinkedList 를 이용한다.
메소드
add(E) | 값 추가 성공 시 true, 실패 시 false 반환 저장공간이 부족하면 IllegalStateException 반환 |
|
offer(E) | 값 추가 성공 시 true, 실패 시 false 반환 | |
peek() | 가장 상단 값 반환 비었으면 null 반환 |
|
element() | 가장 상단 값 반환 비어있으면 NoSuchElementException 반환 |
|
poll() | 가장 상단 값 반환 & 제거 비어있으면 null 반환 |
|
remove() | 가장 상단 값 반환 & 제거 비어있으면 NoSuchElementException 반환 |
|
clear() | 전체 값 제거 (반환x) | |
size() | 크기 반환 | |
isEmpty() | 비었으면 true, 아니라면 false 반환 | |
contains(E) | 해당 값이 있으면 true 없으면 false 반환 |
728x90
반응형
'CS공부' 카테고리의 다른 글
[JAVA] Enum(열거형) 개념과 예제 (0) | 2023.06.27 |
---|---|
[JAVA] 싱글톤 패턴 (Singleton Pattern) 개념과 예제 (0) | 2023.06.26 |
[JAVA] 스택(Stack) 클래스 및 메서드 총정리 (0) | 2023.06.10 |
[알고리즘/JAVA] 에라토스테네스의 체 (0) | 2023.05.12 |
[JAVA] 컬렉션 프레임워크와 List ,Set, Map의 개념 및 정리 (0) | 2023.04.27 |