新人日誌6
kotlinでの配列とコレクションについて。
基本データ型は、IntArrayやCharArrayのように配列用クラスが用意されています。
コンストラクタでサイズを指定することでそのサイズ分の要素を持った配列ができあがります。そのコンストラクタの後に続けて{}で囲った中に初期値を入れることで配列全ての内容が初期化されます。
例
val intArray = IntArray(10){1} //1で初期化された10個の要素を持つint型配列
配列内各要素を異なる値で初期化したい場合は
val intArray = intArrayOf(1,2,3,4,5) //intArray[0]==1 ~~ intArray[4]==5
とすることで内容の異なる配列を作成することができます。
コレクション
基本データ型以外のクラスはコレクションのArrayListを使うと便利でした。
val bitmapArray:ArrayList<Bitmap> = arrayListOf()
このような宣言でミュータブルなコレクションArrayListを作成し、
bitmapArray.add(bitmapdata)
であとから順に要素を挿入できます。
要素へのアクセスも配列と同じようにbitmapArray[インデックス]という形でアクセスできます。
要素の削除は
bitmapArray.removeAt(/*インデックス*/)
で削除でき、便利です。
ですが、内容を書き換えられたくないときもあります。そういう場合は
val bitmaplist = bitmapArray.toList();
とすることで、要素の内容をコピーした読み取り専用のイミュータブルなコレクションListを作成できます。
これも 要素へのアクセスはbitmaplist [インデックス]という形でアクセスできます。
変数の書き換え可否を決める宣言時のval,var以外に、
オブジェクト の内容の変更可否を決めるミュータブル(書き換え可能)、イミュータブル(書き換え不可能)という概念があるが勉強になりました。
水曜担当 : Tanaka
tanaka at 2019年03月06日 10:00:54