Queue

Gyujin Cho·2022년 2월 6일
0

Java

목록 보기
7/7

선입선출(FIFO) 자료구조

1. 선언

JAVA에서 Queue를 사용하기 위해선 Queue뿐아니라 LinkedList도 import하여 사용해야 한다.

import java.util.LinkedList;
import java.util.Queue;
Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언, linkedlist 이용
Queue<String> queue = new LinkedList<>(); //String형 queue 선언, linkedlist 이용

2. 추가

add : 큐가 꽉찬 경우 예외 발생
offer : 큐가 꽉찬 경우 false

Queue<Integer> stack = new LinkedList<>(); //int형 queue 선언
queue.add(1);     // queue에 값 1 추가
queue.add(2);     // queue에 값 2 추가
queue.offer(3);   // queue에 값 3 추가

3. 삭제

remove : 큐가 비어있을 시 예외 발생
poll : 큐가 비어있을 시 null

Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1);     // queue에 값 1 추가
queue.offer(2);     // queue에 값 2 추가
queue.offer(3);     // queue에 값 3 추가
queue.poll();       // queue에 첫번째 값을 반환하고 제거 비어있다면 null
queue.remove();     // queue에 첫번째 값 제거
queue.clear();      // queue 초기화

4. 출력

peek : 해당 list의 첫번째 값 참조.

Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1);     // queue에 값 1 추가
queue.offer(2);     // queue에 값 2 추가
queue.peek();       // queue의 첫번째 값 참조

5. 크기 확인

size : list의 크기 출력

Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1);     // queue에 값 1 추가
queue.offer(2);     // queue에 값 2 추가
queue.size();       // queue의 크기 출력

6. 큐 비우기

clear : 큐 데이터 전체 삭제

Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1);     // queue에 값 1 추가
queue.offer(2);     // queue에 값 2 추가
queue.clear();      // queue 내 데이터 전체 삭제

7. 빈 값 여부 확인

isEmpty() : 존재 시 false, 비어있을 시 true

Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1);     // queue에 값 1 추가
queue.offer(2);     // queue에 값 2 추가
queue.isEmpty();      // queue 내 데이터 전체 삭제

관련문제
https://programmers.co.kr/learn/courses/30/lessons/42586?language=java
풀이
https://github.com/chogyujin/algorithm/blob/1b1a5043b72d69aeab52143a76beec8ae29827a6/programmers/004.%20%EA%B8%B0%EB%8A%A5%EA%B0%9C%EB%B0%9C.md

profile
간단 명료하게

0개의 댓글