C#のArrayListクラスとは?主なメソッド一覧とSort()による並べ替え方法を解説
ArrayListクラスは、個別にインデックスでアクセスできるオブジェクトの順序付きコレクションを表します。基本的には配列(Array)の代替として利用できる便利なコレクションです。要素数が事前にわからない場合でも動的にサイズが拡張されるため、柔軟なデータ管理が可能になります。
ArrayListクラスの主なメソッド
ArrayListクラスには、要素の追加・削除・検索・並べ替えなどを行うための多彩なメソッドが用意されています。以下に主要なメソッドとその説明をまとめました。
| 番号 | メソッドと説明 |
|---|---|
| 1 | public virtual int Add(object value); ArrayListの末尾にオブジェクトを追加します。 |
| 2 | public virtual void AddRange(ICollection c); ICollectionの要素をArrayListの末尾に追加します。 |
| 3 | public virtual void Clear(); ArrayListからすべての要素を削除します。 |
| 4 | public virtual bool Contains(object item); 指定した要素がArrayList内に存在するかどうかを判定します。 |
| 5 | public virtual ArrayList GetRange(int index, int count); 元のArrayListの一部の要素を表すArrayListを返します。 |
| 6 | public virtual int IndexOf(object); ArrayList全体またはその範囲内で、値が最初に出現する位置のインデックス(0から始まる)を返します。 |
| 7 | public virtual void Insert(int index, object value); ArrayList内の指定したインデックス位置に要素を挿入します。 |
| 8 | public virtual void InsertRange(int index, ICollection c); コレクションの要素を、ArrayList内の指定したインデックス位置に挿入します。 |
| 9 | public virtual void Remove(object obj); ArrayListから特定のオブジェクトの最初の出現箇所を削除します。 |
| 10 | public virtual void RemoveAt(int index); ArrayList内の指定したインデックス位置にある要素を削除します。 |
| 11 | public virtual void RemoveRange(int index, int count); ArrayListから指定した範囲の要素を削除します。 |
| 12 | public virtual void Reverse(); ArrayList内の要素の順序を反転させます。 |
| 13 | public virtual void SetRange(int index, ICollection c); コレクションの要素を、ArrayList内の指定した範囲の要素にコピーします。 |
| 14 | public virtual void Sort(); ArrayList内の要素を並べ替えます。 |
| 15 | public virtual void TrimToSize(); 容量をArrayList内の実際の要素数に設定します。 |
ArrayListの使用例:Sort()メソッドで並べ替え
C#でArrayListを並べ替えるには、Sort()メソッドを使用します。まず、以下のようにArrayListを作成し、要素を追加してみましょう。
ArrayList arr = new ArrayList(); arr.Add(32); arr.Add(12); arr.Add(55); arr.Add(8); arr.Add(13);
次に、Sort()メソッドを呼び出すだけで、ArrayListの要素が昇順に並べ替えられます。
arr.Sort();
それでは、実際にC#でArrayListを並べ替えるサンプルコードを実行してみましょう。
サンプルコード
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
ArrayList arr = new ArrayList();
arr.Add(89);
arr.Add(34);
arr.Add(77);
arr.Add(90);
Console.Write("List: ");
foreach (int i in arr) {
Console.Write(i + " ");
}
Console.WriteLine();
Console.Write("Sorted List: ");
arr.Sort();
foreach (int i in arr) {
Console.Write(i + " ");
}
Console.WriteLine();
Console.ReadKey();
}
}
}実行結果
List: 89 34 77 90 Sorted List: 34 77 89 90
このように、Sort()メソッドを呼び出すだけで、ArrayList内の整数要素が昇順(小さい順)に並べ替えられていることが確認できます。なお、ArrayListは非ジェネリックコレクションのため、現在では型安全なList<T>の使用が推奨される場合もありますが、既存コードの保守や学習目的では依然として重要なクラスです。
-
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に追加して
-
C#のArrayListクラスにおけるCapacityプロパティとは?使い方を解説
ArrayListクラスのCapacityプロパティは、そのArrayListが格納できる要素の数を取得または設定するためのプロパティです。Capacity(容量)は、実際に格納されている要素数を表すCount(カウント)よりも常に大きいか等しい値になります。Capacityプロパティへのアクセスは以下のように記述します。arrList.Capacity容量の仕組みArrayListの既定の容量は4です。要素を追加していき、既定の容量を超えると、容量は自動的に2倍に拡張されます。例えば、5つの要素を追加した場合、容量は8に拡張されます。以降も同様に、容量を超えた時点で順次2倍ずつ拡張されていき