C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でスタック(Stack)を配列に変換する方法

C#では、Stack<T>クラスに用意されているToArray()メソッドを使うことで、スタックの要素を簡単に配列へ変換できます。このメソッドは、スタック内の要素を新しい配列にコピーして返します。

なお、スタックはLIFO(Last In First Out:後入れ先出し)構造のため、要素は最後にPushされたものから順に取り出される点に注意してください。

サンプルコード1:文字列型のスタックを配列に変換

スタックを配列に変換する基本的なコードは以下の通りです。

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main(){
      Stack<string> stack = new Stack<string>();
      stack.Push("AB");
      stack.Push("CD");
      stack.Push("FG");
      stack.Push("KL");
      
      Console.WriteLine("Array...");
      foreach(string i in stack){
         Console.WriteLine(i);
      }
      
      string[] strArr = stack.ToArray();
      Console.WriteLine("Convert Stack to Array...");
      foreach(string i in strArr){
         Console.WriteLine(i);
      }
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Array...
KL
FG
CD
AB
Convert Stack to Array...
KL
FG
CD
AB

サンプルコード2:整数型のスタックを配列に変換

次に、int型のスタックを配列に変換する別の例を見てみましょう。

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main(){
      Stack<int> stack = new Stack<int>();
      stack.Push(250);
      stack.Push(500);
      stack.Push(750);
      stack.Push(1000);
      stack.Push(1200);
      stack.Push(1500);
      
      Console.WriteLine("Array...");
      foreach(int i in stack){
         Console.WriteLine(i);
      }
      
      int[] intArr = stack.ToArray();
      Console.WriteLine("Convert Stack to Array...");
      foreach(int i in intArr){
         Console.WriteLine(i);
      }
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Array...
1500
1200
1000
750
500
250
Convert Stack to Array...
1500
1200
1000
750
500
250

ポイントまとめ

  • ToArray()メソッド:Stack<T>の全要素をT型の配列として返します。
  • 要素の順序:スタックの特性上、最後に追加された要素から順に格納されます(LIFO順)。
  • 元のスタックへの影響なし:ToArray()は新しい配列を作成するため、元のスタックの内容は変更されません。
  1. C#のStackクラスを徹底解説!PushとPopの使い方とサンプルコード

    C#のStackクラスは、LIFO(Last-In, First-Out:後入れ先出し)方式でオブジェクトを管理するコレクションです。最後に追加した要素から順に取り出したい場合に活用されます。 Stackクラスには、以下のような便利なプロパティが用意されています。 Count … スタック内に格納されている要素数を取得します。 Push操作:スタックへの要素追加 Pushメソッドを使うと、スタックの先頭(一番上)に新しい要素を追加できます。 Stack st = new Stack(); st.Push(A); st.Push(B); st.Push(C); st.Push(D); この

  2. JavaでList(リスト)を配列に変換する方法|toArray()とArrays.asList()の使い方

    Javaの開発において、List(リスト)と配列(Array)の相互変換は非常によく使われる基本的な操作です。 Listを配列に変換する最も簡単かつ推奨される方法は、.toArray()メソッドを使うことです。逆に、配列をListに戻したい場合は、Arrays.asList()メソッドを使用します。 以下では、文字列(String)のListや整数(Integer)のListを、それぞれ対応する配列に変換する具体例を紹介します。 String型のListを配列に変換する import java.util.ArrayList; import java.util.List; public cl