C#のArrayListの末尾にオブジェクトを追加する方法(Addメソッドの使い方)
C#でArrayListの末尾(最後)にオブジェクトを追加するには、Add()メソッドを使用します。このメソッドは、引数に指定したオブジェクトをコレクションの最後に追加し、その要素が挿入された位置(インデックス)を戻り値として返します。
Add()メソッドの基本構文
public virtual int Add(object value);
- value:追加するオブジェクト。nullも許容されます。
- 戻り値:追加された要素のインデックス(int型)。
例1:ArrayListに文字列を追加する
以下のコードでは、Add()メソッドを使って複数の名前をArrayListの末尾へ順番に追加し、foreachループですべての要素を表示しています。
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
ArrayList list = new ArrayList();
list.Add("Tim");
list.Add("Katie");
list.Add("Amy");
list.Add("Carlos");
list.Add("Chris");
list.Add("Jason");
Console.WriteLine("ArrayList内の要素...");
foreach (string res in list) {
Console.WriteLine(res);
}
}
}
出力結果
このプログラムを実行すると、次の出力が得られます。
ArrayList内の要素... Tim Katie Amy Carlos Chris Jason
例2:複数のArrayListへの追加と比較
続いて、別の例を見てみましょう。ここでは2つのArrayListを作成し、それぞれ異なる要素を末尾に追加した後、Equals()メソッドを使って両者が等しいかどうかを判定します。
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
ArrayList list1 = new ArrayList();
list1.Add("A");
list1.Add("B");
list1.Add("C");
list1.Add("D");
list1.Add("E");
list1.Add("F");
list1.Add("G");
list1.Add("H");
list1.Add("I");
Console.WriteLine("ArrayList1内の要素...");
foreach (string res in list1) {
Console.WriteLine(res);
}
ArrayList list2 = new ArrayList();
list2.Add("1");
list2.Add("2");
list2.Add("3");
list2.Add("4");
list2.Add("5");
list2.Add("6");
Console.WriteLine("ArrayList2内の要素...");
foreach (string res in list2) {
Console.WriteLine(res);
}
Console.WriteLine("ArrayList1とArrayList2は等しいか? = " + list1.Equals(list2));
}
}
出力結果
このプログラムを実行すると、次の出力が得られます。
ArrayList1内の要素... A B C D E F G H I ArrayList2内の要素... 1 2 3 4 5 6 ArrayList1とArrayList2は等しいか? = False
ポイントまとめ
Add()メソッドは常にリストの末尾に要素を追加します。任意の位置に挿入したい場合はInsert()メソッドを使用します。- ArrayListは非ジェネリックなコレクションのため、異なる型の要素を混在させて格納できますが、値型のボックス化によるパフォーマンス低下に注意が必要です。
- 型安全性とパフォーマンスを重視する場合は、
List<T>の使用が推奨されます。 - ArrayListには重複した要素やnullを格納することも可能です。
-
C#のObjectクラスとは?全クラスの基底クラスと主要メソッドを徹底解説
C#におけるObjectクラスは、すべてのクラスの継承階層において最も上位に位置する基底クラス(ルートクラス)です。C#で定義されるあらゆる型は、明示的に指定しなくても自動的にObjectクラスを継承しており、そのためすべてのオブジェクトはObjectクラスが提供するメソッドを利用できます。Objectクラスの主なメソッド一覧Objectクラスには、以下のような重要なメソッドが用意されています。番号メソッドと説明1Equals(Object)指定されたオブジェクトが、現在のオブジェクトと等しいかどうかを判定します。2Equals(Object, Object)指定された2つのオブジェクトインス
-
C#のArrayListクラスにおけるCapacityプロパティとは?使い方を解説
ArrayListクラスのCapacityプロパティは、そのArrayListが格納できる要素の数を取得または設定するためのプロパティです。Capacity(容量)は、実際に格納されている要素数を表すCount(カウント)よりも常に大きいか等しい値になります。Capacityプロパティへのアクセスは以下のように記述します。arrList.Capacity容量の仕組みArrayListの既定の容量は4です。要素を追加していき、既定の容量を超えると、容量は自動的に2倍に拡張されます。例えば、5つの要素を追加した場合、容量は8に拡張されます。以降も同様に、容量を超えた時点で順次2倍ずつ拡張されていき