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()は新しい配列を作成するため、元のスタックの内容は変更されません。
-
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); この
-
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