C#でArrayList内の指定範囲の要素に対する列挙子を取得する方法
C#のArrayListで、特定の範囲の要素だけを順番に処理したい場合には、GetEnumerator(int index, int count)メソッドを使用します。このメソッドは、開始インデックスと取得する要素数を指定することで、その範囲に対応するIEnumerator(列挙子)を返します。
GetEnumeratorメソッドの基本構文
public virtual System.Collections.IEnumerator GetEnumerator(int index, int count);
- index:列挙を開始する位置(0から始まるインデックス)
- count:列挙する要素の数
サンプルコード1:数値のArrayListの場合
以下の例では、100〜500の5つの整数を持つArrayListから、インデックス1から3個分の要素(200、300、400)を列挙しています。
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList arrList = new ArrayList();
arrList.Add(100);
arrList.Add(200);
arrList.Add(300);
arrList.Add(400);
arrList.Add(500);
Console.WriteLine("範囲内の要素を表示...");
IEnumerator demoEnum = arrList.GetEnumerator(1, 3);
while (demoEnum.MoveNext()) {
Object ob = demoEnum.Current;
Console.WriteLine(ob);
}
}
}
実行結果
範囲内の要素を表示... 200 300 400
サンプルコード2:文字列のArrayListの場合
次に、文字列を格納したArrayListでの例を見てみましょう。同じリストに対して、異なる範囲を2回列挙しています。
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList arrList = new ArrayList();
arrList.Add("Andy");
arrList.Add("Katie");
arrList.Add("Taylor");
arrList.Add("Steve");
arrList.Add("Nathan");
arrList.Add("Carl");
arrList.Add("Mark");
arrList.Add("Amy");
arrList.Add("Jacob");
arrList.Add("John");
Console.WriteLine("範囲内の要素を表示...");
IEnumerator demoEnum = arrList.GetEnumerator(1, 3);
while (demoEnum.MoveNext()) {
Object ob = demoEnum.Current;
Console.WriteLine(ob);
}
Console.WriteLine("別の範囲の要素を表示...");
demoEnum = arrList.GetEnumerator(3, 5);
while (demoEnum.MoveNext()) {
Object ob = demoEnum.Current;
Console.WriteLine(ob);
}
}
}
実行結果
範囲内の要素を表示... Katie Taylor Steve 別の範囲の要素を表示... Steve Nathan Carl Mark Amy
ポイントまとめ
- GetEnumerator(index, count)は、index番目の要素からcount個分の要素を対象とする列挙子を返します。
- MoveNext()メソッドで次の要素へ移動し、Currentプロパティで現在の要素を取得します。
- 範囲外のインデックスや負の値を指定すると、ArgumentOutOfRangeExceptionがスローされるため注意が必要です。
-
C#のArrayListクラスにおけるCountプロパティの使い方を解説
C#のArrayListクラスには、リストに格納されている要素の数を取得するためのCountプロパティが用意されています。このプロパティを使うことで、ArrayList内の現在の要素数を簡単に確認できます。ArrayListへの要素の追加まず、Addメソッドを使ってArrayListに要素を追加します。ArrayList arrList = new ArrayList(); arrList.Add(98); arrList.Add(55); arrList.Add(65); arrList.Add(34);上記のコードでは、4つの整数値(98、55、65、34)をArrayListに追加して
-
JavaでArrayListのすべての要素を削除する方法(clearメソッドの使い方)
JavaのArrayListからすべての要素を一括で削除したい場合は、clear()メソッドを使用します。この記事では、実際のコード例を通じて、ArrayListの全要素を削除する手順をわかりやすく解説します。1. 要素を持つArrayListを作成するまず、複数の要素を格納したArrayListを用意しましょう。以下の例では、Integer型のArrayListに7つの数値を追加しています。ArrayList<Integer> arrlist = new ArrayList<Integer>(5); arrlist.add(25); arrlist.add(50);