質問

C#.NETでArrayListを使用している場合、順序はアイテムを追加する順序と同じままであることが保証されていますか?

役に立ちましたか?

解決

はい、要素は常に最後に追加されます(特に指定しない限り、たとえば挿入)。つまり、次の場合:

int size = list.Count;
int index = list.Add(element);
Assert.AreEqual(size, index); // Element is always added at the end
Assert.AreEqual(element, list[index]); // Returned index is position in list

もちろん、以前の要素を削除するか、その前に新しい要素を挿入すると、位置が変わります。

ちなみにArrayListではなくList<T>を使用する正当な理由はありますか?非ジェネリックコレクションは so 2003 ...

です

(ちなみに、順序は<=>でも安定しています。)

他のヒント

はい、コードの一部が順序を変更しない限りです。スワップ。

はい。配列として保存されているため。

その他のプロパティは

  • 保証注文
  • ランダムアクセス。 O(1)のインデックスで任意の要素にアクセスできます
  • 先頭と中央での挿入と削除が遅い。
  • 未ソート。 (ソートには、クイックソートなどを使用してO(n log n)が必要です)

はい。 [回答の長さ制限]

ArrayListにアイテムを追加すると、アイテムは常にそのインデックスに留まります。もちろん変更しない限り。

(フレームワークはメモリを再配置する場合がありますが、インデックスは常に同じままです)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top