![[JAVA] 1. Queue 설명 및 예시 1 Queue 설명](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/08/%EC%A0%9C%EB%AA%A9%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94_-001-12-1-optimized.png?resize=1024%2C1024&ssl=1)
Queue란?
![[JAVA] 1. Queue 설명 및 예시 2 다운로드 2](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/08/%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-2-optimized.jpg?resize=600%2C146&ssl=1)
자바에서 Queue란, 간단히 말해 데이터를 일렬로 나열하여 관리하는 자료 구조 중 하나로, “선입선출” (First-In-First-Out, FIFO) 원칙을 따릅니다. FIFO란 쉽게 말해, 큐에 쌓인 데이터들 중, 먼저 들어온 데이터가 먼저 빠져나가게 되는 형식을 일컫습니다.
그럼 JAVA에서 큐(Queue)를 어떤 식으로 사용하는지 알아보도록 하겠습니다.
Queue 사용법
우선 Queue를 사용하기 위해서는 Queue와 LinkedList 모두 Import가 필요합니다.
import java.util.LinkedList; import java.util.Queue; Queue<Integer> queue = new LinkedList<>(); Queue<String> queue = new LinkedList<>();
Queue 주요 함수
일부 주요한 Queue
인터페이스의 메서드들은 다음과 같습니다:
offer(E e)
: 큐의 끝에 요소를 추가합니다.poll()
: 큐의 맨 앞에서 요소를 제거하고 반환합니다.peek()
: 큐의 맨 앞의 요소를 반환하지만 제거하지는 않습니다.isEmpty()
: 큐가 비어있는지 여부를 확인합니다.size()
: 큐에 저장된 요소의 개수를 반환합니다.
예시
그럼 간단한 예시를 살펴보도록 하겠습니다.
import java.util.LinkedList; import java.util.Queue; public class QueueExample { public static void main(String[] args) { Queue queue = new LinkedList<>(); // 요소 추가 queue.offer("Apple"); queue.offer("Banana"); System.out.println("Queue: " + queue); // 요소 제거 String removedItem = queue.poll(); System.out.println("Removed from Queue: " + removedItem); // 맨 앞 요소 확인 String peekedItem = queue.peek(); System.out.println("Peeked Item: " + peekedItem); // 루프를 사용한 요소 처리 while (!queue.isEmpty()) { String item = queue.poll(); System.out.println("Processed Item: " + item); } System.out.println("Final Queue: " + queue); } }
위 예시와 같이, offer를 통해 queue에 요소를 넣어주고, poll을 통해 맨 앞 요소를 제거 및 해당 요소를 반환해줍니다. 마지막으로 peek을 통해 queue의 맨 앞 요소(제거는 하지 않음)를 확인하실 수 있습니다.
마치며
지금까지 Queue의 사용법 및 간단한 예시를 살펴봤습니다. 다음 시간에는 JAVA에서 Stack에 대한 기술적 탐방을 이어나가도록 하겠습니다.
![[JAVA] 1. Queue 설명 및 예시 3 image 59](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/08/image-59-optimized.png?resize=300%2C291&ssl=1)
답글 남기기