LoginSignup
15

More than 5 years have passed since last update.

Kotlin 多次元配列の生成方法

Posted at

Javaだと下のように多次元配列は生成するわけですが、、

int[][] array = new int[10][10]

Kotlinではこう書けば生成できる

val array = Array(10, {arrayOfNulls<Int>(10)})

解説

  • 多次元配列の生成はArray()を使うのがいいのかなぁと思います
Array(size: Int, init: (Int) -> T)
  • Arrayのコンストラクタは第一引数に配列のサイズ
  • 第二引数に要素を指定する
  • 要素はIntを引数にとって要素を返す関数を指定する
  • initの引数Intには要素分のインデックスが入る
Array(10, { index ->
    index // 0から9が順々に
})

// もちろんitで参照できる
Array(10, {it})

// 要素を全て2で初期化する例
Array(10, {index ->
    2
})

// 上はindexを使ってないので省略する
Array(10, {2}})
  • 以上を踏まえて、要素に配列を指定してあげれば多次元配列になる
// 0−9で初期化された2次元配列
Array(10, {Array(10, {it})})
  • 型を指定してnullで初期化する配列を宣言する場合は下でもおk
// Boolean[10][10]
Array(10, { arrayOfNulls<Boolean>(10)})

まとめ

配列生成するのに関数を引数に取るのはなかなかビギナー殺し感ある。便利だけど。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15