ezhoon

Queue 주요 기능 정리 본문

Java/이론 및 사용방법

Queue 주요 기능 정리

ezhoon 2022. 1. 27. 10:54

Queue이란

Queue는 자료구조의 스택과 반대의 구조입니다.

FIFO(First in First Out) 선입선출의 형태를 가지는 것을 Queue입니다.

Queue 구동 과정

특징

  • 그래프의 넓이 우선 탐색(BFS)에 사용
  • front 부분은 삭제 연산만 수행한다.
  • rear 부분은 삽입 연산만 수행한다.
  • 컴퓨터 버퍼에서 주로 사용하며, Queue를 만들어 대기시킨 후 먼저 들어온 입력부터 처리한다.

사용법

선언구문

import java.util.Queue;


스택은 클래스로 구현하여 제공하지만, 큐는 인터페이스만 있고 별도의 클래스가 없다.

그러므로 큐 인터페이스를 구현한 클래스들을 사용해야 합니다.

 

Stack과 항상 따라오는 개념이지만 구조가 다르다.

Stack은 이전에 List 인터페이스에 포함되며, ArrayList를 상속받아 이를 기반으로 Stack 자료구조를 만들었습니다.
하지만 Queue는 List 인터페이스의 자료구조를 사용을 할 뿐 포함되어있진 않습니다.

 

Queue 인터페이스를 이용한 큐 구현

Quere 값 추가

Queue<Integer> queue = new LinkedList<>();

queue.offer(1);
queue.offer(2);
queue.offer(3);
queue.offer(4);

System.out.println(queue);

queue 값 추가

 

Queue 값 삭제

Queue<Integer> queue = new LinkedList<>();

queue.offer(1);
queue.offer(2);

queue.poll(); // 첫 번째 값 반환하고 제거 비어있다면 null
queue.remove(); // 첫 번째 값 제거
queue.clear(); // 초기화

 

Queue 가장 먼저 들어간 값 출력

Queue<Integer> queue = new LinkedList<>();

queue.offer(1);
queue.offer(2);
queue.peek(); // 첫번째 값 참조

'Java > 이론 및 사용방법' 카테고리의 다른 글

버블정렬  (0) 2022.02.03
선택정렬  (0) 2022.02.02
Stack 주요 기능 정리  (0) 2022.01.26
Map - HashMap  (0) 2022.01.23
Set - HashSet, TreeSet, LinkedHashSet  (0) 2022.01.17
Comments