Unity : C#基礎⑦ List
Listとは
- Listは配列に近いが追加と削除ができるのが特徴。
- 配列は要素の数が決まっている「不変」でListは決まっていない「可変」。
- 配列は決められた型だけ入れられるが、Listはどんな型でも入る。
- 取得方法は配列と同じ。
書き方と取得
宣言・代入・初期化
{値}を省略して後から追加してもよい。
// List<型> 変数 = new List<型>() {値,値,値}; List<int> numbers = new List<int>() {-1,21,23}; Debug.Log(numbers[0]); Debug.Log(numbers[1]); Debug.Log(numbers[2]);
代入方法
既存の変数を上書きできる。
List<int> numbers = new List<int>() {-1,21,23}; numbers[1] = 0; Debug.Log(numbers[1]); // [1]の21が0に上書きされる // 出力結果 0
追加
リストの最後尾に変数を追加できる。
List<int> numbers = new List<int>() {-1,21,23}; // 変数.Add(値); numbers.Add(100); Debug.Log(numbers[3]); // 出力結果 100
長さの取得
LengthではなくCountを使う。
List<int> numbers = new List<int>() {-1,21,23}; // 変数.Count Debug.Log(numbers.Count); // 出力結果 4
削除
リストから要素を削除する方法は二通り。
削除したアドレスは欠番にはならず、繰り上がるので注意。
パターン1 : 要素のアドレスを指定して削除
List<int> numbers = new List<int>() {-1,21,23}; // 変数.RemoveAt(アドレス); numbers.RemoveAt(1); Debug.Log(numbers.Count); // 出力結果 3 // リストから要素が1つ削除されたので要素数が減った
パターン2 : 要素の値を指定して削除
List<int> numbers = new List<int>() {-1,21,23}; // 変数.Remove(要素の値); numbers.Remove(-1); Debug.Log(numbers[0]); // 出力結果 21 // [0]の-1が削除され[1]の21が[0に]繰り上がった
Listの便利な使い方
for文との連携
LengthではなくCountを使って要素を全て書き出す。
for(int i=0; i<numbers.Count; i++) { Debug.Log(numbers[i]); }
ループ処理でListを作る
例文) 0-9までの要素数のリストを作る。
要素を入れない空のリストを作ってループ処理で追加。
List<int> numberList = new List<int>(); for(int i=0; i<10; i++) { numberList.Add(i); } for(int i=0; i<numberList.Count; i++) { Debug.Log(numberList[i]); }
コメント
0 件のコメント :
コメントを投稿