Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Queue.Clear() 메서드 사용법 – 큐의 모든 요소 한 번에 비우기

C#에서 Queue.Clear() 메서드는 큐(Queue)에 저장된 모든 개체를 한 번에 제거하는 데 사용됩니다. 이 메서드를 호출하면 큐의 Count 속성 값이 0이 되며, 큐 자체는 그대로 유지된 채 내부 요소만 비워집니다.

구문

Queue.Clear() 메서드의 기본 구문은 다음과 같습니다.

public virtual void Clear();

예제 1

아래 예제에서는 정수형 큐에 여러 값을 추가한 후, Clear() 메서드로 모든 요소를 제거하는 과정을 보여줍니다.

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      Queue<int> queue = new Queue<int>();
      queue.Enqueue(100);
      queue.Enqueue(200);
      queue.Enqueue(300);
      queue.Enqueue(400);
      queue.Enqueue(500);
      queue.Enqueue(600);
      queue.Enqueue(700);
      queue.Enqueue(800);
      queue.Enqueue(900);
      queue.Enqueue(1000);

      Console.WriteLine("큐 전체 출력...");
      foreach(int i in queue) {
         Console.WriteLine(i);
      }

      Console.WriteLine("큐의 요소 개수 = " + queue.Count);

      queue.Clear();

      Console.WriteLine("Clear() 호출 후 큐의 요소 개수 = " + queue.Count);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

큐 전체 출력...
100
200
300
400
500
600
700
800
900
1000
큐의 요소 개수 = 10
Clear() 호출 후 큐의 요소 개수 = 0

예제 2

다음 예제는 큐에 요소를 추가한 뒤 Count를 확인하고, 다시 요소를 추가한 후 Clear() 메서드로 비우는 과정을 단계별로 보여줍니다.

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      Queue<int> queue = new Queue<int>();
      queue.Enqueue(100);
      queue.Enqueue(200);
      queue.Enqueue(300);

      Console.WriteLine("큐 전체 출력...");
      foreach(int i in queue) {
         Console.WriteLine(i);
      }

      Console.WriteLine("큐의 요소 개수 = " + queue.Count);

      queue.Enqueue(800);
      queue.Enqueue(900);
      queue.Enqueue(1000);

      Console.WriteLine("요소 추가 후 큐의 요소 개수 = " + queue.Count);

      queue.Clear();

      Console.WriteLine("Clear() 호출 후 큐의 요소 개수 = " + queue.Count);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

큐 전체 출력...
100
200
300
큐의 요소 개수 = 3
요소 추가 후 큐의 요소 개수 = 6
Clear() 호출 후 큐의 요소 개수 = 0

정리

Queue.Clear() 메서드는 시간 복잡도 O(n)으로 큐의 모든 요소를 제거하며, 반환값은 없습니다(void). 큐를 재사용해야 하거나 메모리를 즉시 해제하고 싶을 때 유용하게 활용할 수 있습니다.