CodeZine(コードジン)

特集ページ一覧

.NET Frameworkの代表的なコレクションと使い方

System.Collections名前空間直下の主なコレクション

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/03/23 14:00
目次

ArrayList(配列リスト)

 ArrayListは、動的に大きさを変化させられる、いわゆる動的配列タイプのデータ構造を提供してくれるコレクションです。Array(配列)という名称なので、同一の型しか納められないような気がしてしまいますが、一つのArrayListに対して複数の型のオブジェクトを格納することができます。

ArrayListサンプルプログラムの解説

サンプルプログラムの一部抜粋
ArrayList al = new ArrayList(); // Array Listを用意

/* Array Listに要素を追加 */
al.Add(1);
al.Add('A');
al.Add("hoge");
al.Add(3.14);
al.Add(true);

Console.WriteLine("Array List Count: " + al.Count); // 要素数の表示

/* すべての要素について、内容とその型を表示させる */
for (int i = 0; i < al.Count; i++)
{
    Console.WriteLine("{0,5} : {1}", al[i], al[i].GetType());
}
サンプルプログラムの実行結果
Array List Count: 5
    1 : System.Int32
    A : System.Char
 hoge : System.String
 3.14 : System.Double
 True : System.Booleannt

 ArrayListという名称上、リスト構造と同じように感じるかもしれませんが、要素へのアクセスにかかる時間はO(1)と、通常のリスト構造がとる要素へのアクセス時間O(n)に比べて高速です。

ArrayListの基本的な使い方

 ArrayListの基本的な使い方は、

  • Add(value)メソッドを用いて末尾に要素を追加
  • Insert(value)メソッドで指定位置に要素を追加
  • ArrayList[N]でN番目のデータを呼び出す

 という3つの手順です。さらにIndexOfLastIndexOfメソッドを使うことで、要素の何番目に目的のデータが存在するかを調べることもできます。いらなくなった要素はRemoveメソッドを用いて削除し、すべての要素を削除するにはClearメソッドを用います。

ArrayListを使う上での注意点

 ArrayListには、その要素をソートするためにSortメソッドが用意されていますが、このメソッドによって必ずしも意図したとおりに並べ替えられるとは限りません。というのも、今回のサンプルプログラムのようにどれが先頭に来るのか一見してわからないデータが格納されている場合があるからです。その場合にはSortメソッドで正しく並べ替えられないばかりか、ソート済みのデータを前提とするBinarySearchメソッドも正しく動作する保証がありませんのでご注意ください。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 太田 晃(オオタ アキラ)

    &nbsp;ブログ(http://repse.blogspot.com/)では、coLinux上にMinGWを用いてクロスコンパイル環境を構築し、そのうえでSDLやOpenGLを使ってWindows向けのプログラムを書くとか、海外のソフトウェアを(勝手に)日本語化するとか、Windowsのインデック...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5