配列
スタックに参照、ヒープにデータが入る。
ArrayList:重い
ArrayListクラスは複数のデータ型を混在させることが出来る。
ArrayList al = new
ArrayList();
al.Add
= 123; al.Add = "abc"
値の格納時にボックス化を行っているから。
Console.WriteLine((int)al[0]);
← ボックス解除する必要がある。
object
array = new object[5];
array[0] =
(object)123;というイメージか。エラーになってしまったが。
取り出すときは基本的にボックス解除する必要がある。
インデクサ:オブジェクトに対して、配列のようなアクセスを可能にする。
Listなどで
List
strList
= new List();
strList.Add("test");
Console.WriteLine(strList[0]);
とアクセスできるがこれはコレクションを扱うクラスではインデクサが設定済みのためである。
Dictionaryクラス
キーと値をペアで管理する。
var
dicObj = new Dictionary();
<
O(1)で検索できるアルゴリズム >
strArray[N]
={"alice","bob","carol"};
var dicObj = new
Dictionary();
int
count = 0;
foreach(string str
in strArray){
dicObj.Add(str,count);
}
Console.WriteLine(
dicObj["carol"] + "番目がcarolです。" ); 間違ってるかも
最終更新:2015年01月26日 21:12