Genta Hirauchi

公開日:2020/02/03
更新日:2020/03/22

【Kotlin基礎】Kotlinで配列を使う方法を解説

  • Kotlinでの配列の使い方を知りたい。
  • Javaとの違いを知りたい。

Kotlinでの配列の使い方がわからず困っている方はいらっしゃいませんか?

配列はプログラミングの基本ですが、プログラミングを始めたばかりの方にとっては、中々理解するのに苦労するのではないかと思います。

そこで本記事では、Kotlinでの配列の使い方を、サンプルコードを交え、わかりやすく解説致します。
Javaとの比較コードも載せておりますので、Java経験者の方にとっては、より理解しやすい記事になっているかと思います。

目次

Kotlinで配列を使う方法

配列を初期化する方法

まずは、配列を初期化する方法を解説致します。配列の初期化には、arrayOf()関数を使用します。

  • Kotlin
fun  arrayOf(vararg elements: T): Array

【公式ドキュメント】 : arrayOf – Kotlin Programming Language

以下は、文字列と数値の配列を初期化するサンプルコードです。

  • Kotlin
  • Java
val names = arrayOf("佐藤", "鈴木", "井上")
val ages = arrayOf(22, 30, 25)

println(names[0])
println(ages[1])

// 佐藤
// 30
String[] names = {"佐藤", "鈴木", "井上"};
int[] ages = {22, 30, 25};

System.out.println(names[0]);
System.out.println(ages[1]);

// 佐藤
// 30

arrayOf()関数の()内に、要素をカンマ(,)で区切って書いていきます。

また、Javaとは違い、Kotlinでは型推論が可能なので、型を省略することができます。

要素にアクセスするには、配列[index]と記述します。

Point
  • 配列の初期化には、arrayOf()関数を使用する
  • arrayOf()関数の()内に、カンマで区切って要素を記述する
  • Kotlinでは型推論が可能なので、型を省略することができる
  • 配列の要素にアクセスするには、配列[index]と記述する

Nullで埋められた配列を作る方法

続いて、Nullで埋められた配列を作成する方法を解説致します。Nullで埋められた配列を作成するには、arrayOfNulls()関数を使用します。

  • Kotlin
fun  arrayOfNulls(size: Int): Array

【公式ドキュメント】 : arrayOfNulls – Kotlin Programming Language

以下は、5つのNullで埋められた配列を作成するサンプルコードです。

  • Kotlin
  • Java
val names = arrayOfNulls(5)
println(names[0])

// null
String[] names = new String[5];
System.out.println(names[0]);

// null

arrayOfNulls()関数の()内に、配列のサイズを記述します。

また、先ほどのarrayOf()関数とは違い、型を明記する必要があります。

Point
  • nullで埋められた配列を作成するには、arrayOfNulls()関数を使用する
  • arrayOfNulls()関数の()内に、配列のサイズを記述する
  • arrayOfNulls()関数は、型を省略することはできない

配列の要素数を調べる方法

続いて、配列の要素数を調べる方法を解説致します。配列の要素数を調べるには、sizeを使用します。

先ほどのサンプルコードで作成した配列のサイズを調べてみましょう。

  • Kotlin
  • Java
val names = arrayOfNulls(5)
println(names.size)

// 5
String[] names = new String[5];
System.out.println(names.lentgh);

// 5

配列の変数に対して、.sizeをつけることで要素数を調べることができます。
ちなみにJavaではlengthで要素数を調べることができます。

Point
  • 配列.sizeで要素数を調べることができる

配列の要素を比較する方法

続いて、配列の要素を比較する方法を解説致します。配列の要素を比較するには、contentEqualsを使用します。

【公式ドキュメント】 : contentEquals – Kotlin Programming Language

以下は、3つの配列を比較するサンプルコードです。

  • Kotlin
  • Java
val names1 = arrayOf("佐藤", "鈴木", "井上")
val names2 = arrayOf("佐藤", "鈴木", "井上")
val names3 = arrayOf("田中", "鈴木", "井上")

println(names1 contentEquals names2)
println(names1 contentEquals names3)

println(Arrays.equals(names1, names2))
println(Arrays.equals(names1, names3))

// true
// false
// true
// false
String[] names1 = {"佐藤", "鈴木", "井上"};
String[] names2 = {"佐藤", "鈴木", "井上"};
String[] names3 = {"田中", "鈴木", "井上"};

System.out.println(Arrays.equals(names1, names2));
System.out.println(Arrays.equals(names1, names3));

// true
// false

配列1 contentEquals 配列2とすることで、2つの配列を比較することができます。

また、Arrays.javaに定義されているArrays.equals()関数でも、配列を比較することができます。

Point
  • contentEqualsで、配列を比較することができる
  • Arrays.equals()関数でも、配列を比較することができる

配列をループさせる方法

最後に、配列をループさせる方法を解説致します。

以下は、forとforEachで配列をループさせるサンプルコードです。

  • Kotlin
  • Java
val names = arrayOf("佐藤", "鈴木", "井上")
for (name in names) {
   println(name)
}

names.forEach {
   println(it)
}

// 佐藤
// 鈴木
// 井上

// 佐藤
// 鈴木
// 井上
String[] names = {"佐藤", "鈴木", "井上"};
for (String name : names) {
   System.out.println(name);
}

// 佐藤
// 鈴木
// 井上

for及びforEachについての詳しい解説は、以下の記事にまとめておりますので、そちらもあわせてご覧ください。

【Kotlin基礎】Kotlinでfor文によるループ処理を実装する方法

サンプルコードを交えた解説で、for文による基本的なループ処理や、until、step、downToの使い方、ListやMapをループさせる方法を紹介致します。Javaで実装した場合と、Kotlinで実装した場合の両方のコードを載せておりますので、Javaの経験者の方にはより理解しやすい記事となっております。

【Kotlin基礎】KotlinでforEachによるループ処理を実装する方法

forEachとは、リストや配列、Mapなどを、要素の数だけ順番に繰り返すループ処理のことをいいます。本記事では、forEachによるListやMapループ処理の実装方法、そして、forやwhileによるループ処理の実装方法について解説致します。

まとめ

  • 配列の初期化には、arrayOf()関数を使用する
  • arrayOf()関数の()内に、カンマで区切って要素を記述する
  • Kotlinでは型推論が可能なので、型を省略することができる
  • 配列の要素にアクセスするには、配列[index]と記述する
  • contentEqualsで、配列を比較することができる
  • Arrays.equals()関数でも、配列を比較することができる
  • 配列.sizeで要素数を調べることができる
  • nullで埋められた配列を作成するには、arrayOfNulls()関数を使用する
  • arrayOfNulls()関数の()内に、配列のサイズを記述する
  • arrayOfNulls()関数は、型を省略することはできない