본문 바로가기
알고리즘 & 자료구조

[Java] Queue란?

by 방구쟁이 2021. 7. 5.
728x90

Queue의 동작 원리 - 선입선출

Queue란?

Queue는 줄을 지어 순서대로 처리되는 자료구조로 First In First Out의 형태를 가진다. 말 그대로 먼저 들어온 뎅터가 먼저 나가는 구조를 말한다. 사용 예제로는 그래프의 넓이 우선탐색인 BFS와 컴퓨터 버퍼(큐)에서 사용되며 맨 앞쪽의 데이터 삭제를 Dequeue, 맨 마지막의 데이터 추가를 Enqueue라 한다.


Queue 사용법 - 생성  

Queue를 JAVA에서 사용하기 위해서는 Queue와 LinkedList 모두 Import가 필요하다.  

import java.util.LinkedList;
import java.util.Queue;

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

 

Queue 사용법 - 값 추가  

Queue에 값을 추가할때는 add(value), offer(value)를 사용하는데 add는 삽입 성공 여부에 따라 true, IllegalStateException을 반환한다.  

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

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

 

Queue 사용법 - 값 삭제  

Queue에 값을 삭제할때는 poll(), remove()를 사용하는데 poll()은 큐가 비어있으면 null로 반환하며 맨 앞에 값을 제거한다. clear()시 모든 요소 제거  

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

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

queue.poll();	//값 제거 , 비어있을 시 null 반환
queue.remove();	//값 제거
queue.clear();	//모든 요소 제거

 

Queue 사용법 - 값 참조  

Queue에 맨 앞의 값을 참조하고 싶을때는 peek() 메서드를 사용한다.  

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

queue.peek();

 


오늘 성장에 도움을 주신 개발자분

출처 : https://coding-factory.tistory.com/602   

오늘도 감사합니다.

728x90

'알고리즘 & 자료구조' 카테고리의 다른 글

검색 알고리즘  (0) 2021.07.10
Array 배열이란?  (0) 2021.07.09
BFS 알고리즘이란?  (0) 2021.07.08
알고리즘 왜 필요할까?  (0) 2021.07.08
Dijkstra 알고리즘  (0) 2021.06.22

댓글