C#でArrayListの要素を新しい配列にコピーする方法(ToArrayメソッドの使い方)
C#でArrayListの要素を新しい配列へコピーするには、ToArray() メソッドを使用します。このメソッドは、ArrayList内のすべての要素を object 型の配列として返します。本記事では、文字列と数値の2つのサンプルコードを使って、具体的な使い方と実行結果を解説します。
ToArray()メソッドとは
ToArray() は、System.Collections名前空間のArrayListクラスが提供するメソッドで、呼び出し元のArrayListに格納されている要素を順番どおりに新しい配列へコピーします。戻り値は object[] 型となるため、必要に応じて各要素を元の型にキャストして扱います。
例1:文字列のArrayListを配列にコピーする
まずは、文字列「A」から「J」までを格納したArrayListを、配列へコピーする例を見てみましょう。
using System;
using System.Collections;
public class Demo {
public static void Main(){
ArrayList list = new ArrayList(10);
list.Add("A");
list.Add("B");
list.Add("C");
list.Add("D");
list.Add("E");
list.Add("F");
list.Add("G");
list.Add("H");
list.Add("I");
list.Add("J");
Console.WriteLine("ArrayListの要素...");
foreach(string str in list){
Console.WriteLine(str);
}
Console.WriteLine("ArrayListからコピーされた配列の要素...");
object[] ob = list.ToArray();
foreach(string str in ob){
Console.WriteLine(str);
}
}
}実行結果
上記のコードを実行すると、次のような出力が得られます。ArrayListの要素がそのまま配列へコピーされていることが確認できます。
ArrayListの要素... A B C D E F G H I J ArrayListからコピーされた配列の要素... A B C D E F G H I J
例2:数値のArrayListを配列にコピーする
続いて、整数値を格納したArrayListを配列へコピーする例です。要素の型が異なっても、同じように ToArray() を使ってコピーできます。
using System;
using System.Collections;
public class Demo {
public static void Main(){
ArrayList list = new ArrayList(10);
list.Add(100);
list.Add(200);
list.Add(300);
Console.WriteLine("ArrayListの要素...");
foreach(int val in list){
Console.WriteLine(val);
}
Console.WriteLine("ArrayListからコピーされた配列の要素...");
object[] ob = list.ToArray();
foreach(int val in ob){
Console.WriteLine(val);
}
}
}実行結果
実行すると、以下のようにArrayList内の数値がそのまま配列へコピーされます。
ArrayListの要素... 100 200 300 ArrayListからコピーされた配列の要素... 100 200 300
まとめ
ArrayListの要素を新しい配列にコピーするには、ToArray() メソッドを使うのが最も簡単です。戻り値は object[] 型になるため、foreachループなどで取り出す際は適切な型で受け取るようにしましょう。なお、現在のC#では型安全な List<T> の使用が推奨されており、その場合は CopyTo() メソッドやLINQの ToArray() 拡張メソッドでも同様に配列への変換が可能です。
-
Pythonでリストの重複要素を出力するプログラムの書き方
リスト(配列)の中から重複している要素を見つけて出力したい場合、リストの各要素を順番に取り出して比較する、ネストされたループ(二重ループ)を使うのが基本的なアプローチです。以下に具体的な実装例を示します。サンプルコードmy_list = [1, 2, 5, 6, 8, 9, 3, 4, 8, 9, 1, 8] print(リストの内容 :) print(my_list) print(重複している要素は次のとおりです : ) for i in range(0, len(my_list)): for j in range(i+1, len(my_list)): if(my_
-
Pythonでリスト(配列)の要素を左に回転させる方法を徹底解説
Pythonでは、リスト(配列)の要素を左に回転させたい場合、リストを反復処理しながら、指定した回数だけ要素の位置をずらしていくことで実現できます。 本記事では、for文を使った基本的な左回転の実装方法を、サンプルコードと実行結果とともにわかりやすく解説します。さらに、スライスを使ったより簡潔な書き方もあわせてご紹介します。 サンプルコード my_list = [11, 12, 23, 34, 65] n = 3 print(元のリスト:) for i in range(0, len(my_list)): print(my_list[i]) for i in range(0, n