(C#) 配列とコレクションの違い

c#-array-collection-difference

 

C#だけでなく、javaとかでも言えることだが、
配列とコレクションの違いをメモ。

 

コレクションの方が、柔軟に要素を扱える

結論からいうと、コレクションの方が、配列より、柔軟に要素を扱えるという違いがある。

array-collection-difference

どちらも要素の集合体には変わりはないが、
配列の場合は、最初に配列の要素数を決めたら、要素数をその後は変更できないのに対して、
コレクションの方が、要素を操作できる仕組み(メソッドなど)が多い。

 

コレクションの使用例

下記List型のコレクションの使用例を見てみると、
後から要素を追加したり(1)、任意のインデックス番号の位置に要素を挿入したり(2)している。

static void Main(string[] args)
{
    // List型の変数を作成
    List<string> names = new List<string>();
    
    // namesに要素を追加する
    names.Add('田中');
    names.Add('佐藤');
    names.Add('林');

    // namesのインデックス1番目に要素を追加する
    names.Insert(1, '村田');
    
    // 要素を全て表示する
    for (int i=0; i<names.Count; i++)
    {
         Console.WriteLine(names[i]);
    } 
}

 

#実行結果
田中
村田
佐藤
林

上記のように、コレクションインスタンス.メソッド名という形で、
様々な型のコレクションから、柔軟に自身の要素を操作することが可能となる。

これは配列ではできないので、コレクションのメリットと言えるだろう。

 

上記を踏まえて、コレクションをいつ使うか

要素数が定まらない場合に使用する。
また、要素の順番などを操作したい時などにも使用する機会が多い。

 

コレクションのメソッド(一部)

 

Add(要素)

要素を追加する

 

Insert(挿入位置インデックス, 要素)

挿入位置インデックスに要素を追加する

 

RemoveAt(インデックス)

インデックスの要素を削除する

 

IndexOf(要素の値)

要素の値を元に、インデックスを検索する

 

Contains(要素の値)

要素の値を元に、要素の有無を調べる

 

Sort()

Listを昇順に並べ替える

 

Reverse()

Listを逆順に並べ替える

 

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。