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

C# Queue.ToArray() 메서드: 큐 요소를 배열로 변환하는 방법

C#에서 Queue.ToArray() 메서드는 큐(Queue)에 저장된 모든 요소를 새로운 배열로 복사하는 데 사용됩니다. 이 메서드는 원본 큐에는 영향을 주지 않으며, 요소들은 큐에 삽입된 순서(선입선출 순서) 그대로 배열에 복사됩니다.

구문

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

public virtual object[] ToArray ();

반환값으로는 큐의 요소들이 순서대로 담긴 새로운 배열이 반환되며, 매개변수는 받지 않습니다.

예제 1: 정수형 큐를 배열로 변환하기

다음 예제는 정수(int) 타입의 큐를 생성하고, ToArray() 메서드를 사용하여 배열로 변환하는 과정을 보여줍니다.

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<int> queue = new Queue<int>();
        queue.Enqueue(1);
        queue.Enqueue(2);
        queue.Enqueue(3);
        queue.Enqueue(4);
        queue.Enqueue(5);

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

        int[] intArr = queue.ToArray();
        Console.WriteLine("큐를 배열로 변환...");
        foreach (int i in intArr) {
            Console.WriteLine(i);
        }
    }
}

실행 결과

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

큐 출력...
1
2
3
4
5
큐를 배열로 변환...
1
2
3
4
5

예제 2: 문자열 큐를 배열로 변환하기

이번에는 문자열(string) 타입의 큐를 배열로 변환하는 예제입니다.

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("A");
        queue.Enqueue("B");
        queue.Enqueue("C");
        queue.Enqueue("D");
        queue.Enqueue("E");
        queue.Enqueue("F");

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

        string[] strArr = queue.ToArray();
        Console.WriteLine("큐를 배열로 변환...");
        foreach (string i in strArr) {
            Console.WriteLine(i);
        }
    }
}

실행 결과

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

큐 출력...
A
B
C
D
E
F
큐를 배열로 변환...
A
B
C
D
E
F

정리

Queue.ToArray() 메서드는 제네릭 타입(int, string 등)에 관계없이 큐의 요소들을 동일한 순서로 새 배열에 복사해 줍니다. 큐 데이터를 인덱스 기반으로 접근해야 하거나, 다른 배열 처리 로직에 전달해야 할 때 유용하게 활용할 수 있습니다. 참고로 이 메서드는 O(n)의 시간 복잡도를 가지며, 여기서 n은 큐에 포함된 요소의 개수입니다.