ArrayList(System.Collections - C#) が最初に項目を挿入できる速さについてパフォーマンス テストを行いたいと考えています。
データ行を読み取るためのファイルを開き、ストップウォッチを設定し、項目を追加するための ArrayList も作成しました (次のように)。
Stopwatch watchTime = new Stopwatch();
Double totalTime = 0;
using (StreamReader readText = new StreamReader("data.txt"))
{
String line;
Int32 counter = 0;
while ((line = readText.ReadLine()) != null)
{
}
}
カウンターを使用して、ArrayList に入力しているアイテムの数を追跡します。
while ループ内には、次のものがあります。
watchTime.Start();
theList.Insert(0, line);
watchTime.Stop();
Double time = watchTime.Elapsed.TotalMilliseconds;
totalTime = totalTime + time;
Console.WriteLine(time);
watchTime.Reset();
++counter;
これは、ArrayList の先頭にアイテムを挿入する速度を確認する正しい方法ですか??
まったく同じことを行う別のプログラムを作成しましたが、辞書を使用しています。驚いたことに、この ArrayList がアイテムを挿入するのにかかる時間は、Dictionary がかかる時間よりもはるかに長くなります。なぜこうなった?