27.6 Queue 클래스
Queue 클래스는 Stack 클래스와 달리 먼저 들어온 데이터가 먼저 나옵니다. 일반적으로 은행에서 먼저 온 사람을 처리하는 것처럼 큐(Queue)라는 단어는 기다림 통로(은행 줄서기) 또는 FIFO(First In First Out)(선입선출)로 표현되며, 먼저 들어온 것이 먼저 나가는 형태의 데이터를 다룹니다.
이번에는 Queue 클래스를 사용해 보겠습니다. 다음 내용을 입력한 후 실행해 보세요. 여기에서 Enqueue()는 큐에 데이터를 저장하는 메서드고, Dequeue()는 큐에서 데이터를 출력하는 메서드입니다.
> using System.Collections; > > var queue = new Queue(); //① Queue 클래스의 인스턴스 생성 > > queue.Enqueue(10); //② 큐(대기 행렬)에 데이터 입력: Enqueue() > queue.Enqueue(20); > queue.Enqueue(30); > > queue.Dequeue() //③ 큐에서 데이터 출력: Dequeue() 10 > queue.Dequeue() 20 > queue.Dequeue() 30 > queue.Dequeue() System.InvalidOperationException: 큐가 비어 있습니다. + System.Collections.Queue.Dequeue()
큐 개체에 Enqueue() 메서드로 10, 20, 30 형태로 데이터를 저장한 후 Dequeue() 메서드를 호출하면 다시 10, 20, 30 형태로 순서대로 데이터를 출력하는 구조가 바로 큐 클래스입니다.