Javaのように配列を作成するにはどうすればよいですか?
int A[] = new int[N];
Kotlinでこれを行うにはどうすればよいですか?
参照 に従って、配列は次の方法で作成されます。
Javaのプリミティブ型には、 非ボックス化 値を格納するIntArray
、DoubleArray
などの特殊タイプがあります。
それらは、対応するコンストラクターとファクトリー関数で作成されます。
val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size]
val numbersFromOne = IntArray(size) { it + 1 }
val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21)
最初のものはJavaのそれと似ていますが、デフォルト値で満たされたプリミティブ配列を作成するだけです。 Int
の場合はゼロ、false
の場合はBoolean
。
非プリミティブ配列はArray<T>
クラスで表されます。ここで、T
は項目タイプです。
T
は引き続きJava(Int
、Boolean
、...)のプリミティブ型のいずれかですが、内部の値はJavaのInteger
、Double
など。
また、T
は、 nullableおよびnon-null の両方にすることができますString
およびString?
のように。
これらは同様の方法で作成されます。
val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size]
val strings = Array(size) { "n = $it" }
val myStrings = arrayOf("foo", "bar", "baz")
val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size]
val boxedZeros = Array(size) { 0 }