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 형태로 순서대로 데이터를 출력하는 구조가 바로 큐 클래스입니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.