1. ホーム
  2. java

[解決済み] KotlinでJavaのようにサイズを指定して配列を作成するには?

2022-09-02 20:59:26

質問

javaのようにArrayを作成するにはどうしたらよいでしょうか?

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でプリミティブなタイプの1つであることに変わりはありません( Int , Boolean など)と同じようにボックス化されますが、中の値はJavaの Integer , Double といった具合です。

    また T nullable と non-null のように StringString? .

    これらも同様の方法で作成されます。

    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 }