Kotlinで配列を初期化する

Kotlinで配列を初期化する

 

1. 概要

このクイックチュートリアルでは、Kotlinで配列を初期化する方法を見ていきます。

2. arrayOf Libraryメソッド

Kotlinには、提供された列挙値を指定されたタイプの配列に変換する組み込みのarrayOfメソッドがあります。

val strings = arrayOf("January", "February", "March")

3. プリミティブ配列

プリミティブ値でarrayOfメソッドを使用することもできます。

ただし、Kotlinは、プリミティブ値を、パフォーマンスに悪影響を与える対応するオブジェクトラッパークラスに自動ボックス化します。 このオーバーヘッドを回避するために、Kotlinはプリミティブ配列を幅広くサポートしています。 There are dedicated arrayOf methods for the following types: double, float, long, int, char, short, byte, boolean.

専用のarrayOf メソッドを使用して、プリミティブint配列を簡単に初期化できます。

val integers = intArrayOf(1, 2, 3, 4)

4. インデックスによる後期初期化

インスタンス化時に配列の値を定義したくない場合があります。 この場合、null valuesの配列を作成できます。

インスタンス化後、配列のフィールドにアクセスして設定できます。 これを行うにはいくつかの方法がありますが、一般的な方法は、Kotlinのindices property _。 This property returns a range of valid indices for the array. We can use range to access and set the values of the array in a _forループを使用することです。

このアプローチを使用して、配列を平方数で初期化しましょう。

val array = arrayOfNulls(5)

for (i in array.indices) {
    array[i] = i * i
}

5. イニシャライザを使用した値の生成

Primitive arrays and object arrays both have constructors that accept an initializer function as a second parameter。 この初期化関数は、インデックスを入力パラメーターとして受け取り、関数を使用して適切な値に変換し、配列に挿入します。

1行で平方数を使用して配列を初期化できます。

val generatedArray = IntArray(10) { i -> i * i }

前述のように、この種のコンストラクターはオブジェクト配列にも使用できます。

val generatedStringArray = Array(10) { i -> "Number of index: $i"  }

6. 結論

このチュートリアルでは、Kotlinで配列を初期化する方法を見ました。 プリミティブ配列の幅広いサポートを発見しました。 また、簡潔なコードを記述するために初期化関数で配列コンストラクターを使用する方法も観察しました。

いつものように、コードはover on GitHubで利用できます。