馬とテニスのIT革命
馬とテニスとリラックマが好きな IT 系のエンジニアです。
Kotlin

【Kotlin入門】型ごとに適した配列定義について

Java でも同じですが、Kotlin でもあまり数値や文字列に特化した配列を使うケースは少ないです。

どちらかというと、List や Map クラスを利用するパターンが圧倒的に多い。

しかし、ちょっとしたループ処理や値の保持には適している部分もあります。

今回は、Kotlin の配列を紹介します。

Int型の配列

Kotlin で Int 型の配列を扱いたい場合は IntArray が用意されています。

val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)

for (n in numbers) {
    println("${n}です")
}

IntArray は型、intArrayOf はカンマ区切りの数値を引数とする関数です。

結果はご察しの通り、以下になります。

1です
2です
3です
4です
5です

ベタに書いても同じ結果となります。

val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)

println("${numbers[0]}です")
println("${numbers[1]}です")
println("${numbers[2]}です")
println("${numbers[3]}です")
println("${numbers[4]}です")

配列のインデックスも合わせて表示したい

どうせ配列をループさせるなら、インデックスと値の両方を表示させたいものです。

最初のサンプルを少し改修すると以下のように表現できます。

val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)

for ((i, v) in numbers.withIndex()) {
    println("${i + 1}番目の数値は${v}です")
}

これで、配列のインデックスと値の両方を活用した表現ができました。

1番目の数値は1です
2番目の数値は2です
3番目の数値は3です
4番目の数値は4です
5番目の数値は5です

他の型の配列の定義

ここまでは、Int 型の配列を紹介してきましたが、もちろん他の型にも同様の関数などが用意されています。

val b: BooleanArray = booleanArrayOf(true, false)
val l: LongArray = longArrayOf(1000000000000, 2000000000000, 3000000000000)

一方、数値以外の変数タイプの配列を作る時は arrayOf() を使います。

val words = arrayOf("A", "B", "C")

for ((i, v) in words.withIndex()) {
    println("${i + 1}番目の文字は${v}です")
}

実は arrayOf() でも数値は取り扱えるのですが、パフォーマンスを考えると先ほどの intArrayOf() の方が効率がいいです。

次回は List について触れていきたいと思います。

やさしいKotlin入門

プログラミング初心者または Kotlin 初心者向けの入門本。Android 開発ではなく Kotlin の言語を覚えてみたい方にオススメの入門本です。

Java と比較して説明される書籍が多い中、Java や他のプログラム言語を知らない人向けになるので、例えば Java はあまり詳しくないけど PHP や Python は書けるといったパターンとも相性がいいですよ。

created by Rinker
¥2,592
(2018/10/19 23:33:06時点 Amazon調べ-詳細)

あなたにオススメ