配列
配列の利用
変数には1つの値しか格納できませんが、配列を利用することで複数の値を持つことが可能になります。たとえば、「りんご」「ごりら」......、といったしり取りの1つ1つの言葉を配列に要素として加えることができます。
・変数と違い配列は複数の値を保持することができる
配列には、宣言したあとに配列の要素の値が変更可能であるミュータブル(可変)な配列と、宣言したあとに配列の要素の値の変更や、要素自体の追加・削除ができないイミュータブル(不変)な配列があります。それぞれの宣言方法は変数・定数と同じくvarとvalの使い分けになります。
ミュータブル(可変)な配列の宣言
1 |
var 変数名 = arrayOf(X,Y,Z) |
イミュータブル(不変) な配列の宣言
1 |
val 変数名 = arrayOf(X,Y,Z) |
要素の変更をする必要がない場合は、イミュータブルな配列を利用するほうが不用意な値編集による不具合が減ります。さらにイミュータブルな配列のほうが高速です。どちらで宣言するかよく考えるようにしてください。
配列宣言時に指定する値の指定方法は、1つ1つの要素を「,(カンマ)」で区切って入力します。要素を指定せずに配列のインスタンスのみを宣言する場合は、「型名()」で宣言を行います。要素の追加には配列が持つappend関数の引数に追加したい要素を指定して実行します。関数についてはあとで説明します。
それでは、配列の利用例を見てみましょう。
配列の利用例
1 2 3 4 5 6 7 |
// ミュータブル(可変)な配列 var array1 = arrayOf("りんご", "ごりら", "らっぱ") names+="パセリ" // 要素を追加できる // イミュータブル(不変)な配列 val array2 = arrayOf(22, 30, 25) array2+=26 // これはエラーになる。要素を追加できない |
「array1」には、あとから「“りんご”」「“ごりら”」といった文字列を指定できますが、イミュータブルな「array2」にはあとからの要素の追加ができません。「array3」はString型の「“りんご”」「“ごりら”」を「,」で区切って最初に格納しています。
配列に格納した要素の参照には添字(そえじ)を使用します。添字は[ ]で囲んで、配の先頭から[0][1][2]......[n]と数えます。
添字を利用した参照方法
1 |
配列名[添字] |
・添字のイメージ図
添字を利用して値を参照する例を確認してみましょう。
添字を利用して値を参照した例
1 2 |
var array1 = arrayOf("りんご", "ごりら", "らっぱ") var a0 = array1[0] var a1 = array1[1] var a2 = array1[2] |