Подтвердить что ты не робот

Как создать массив в Kotlin, как в Java, просто предоставив размер?

Как создать массив, как в java?

int A[] = new int[N];

Как я могу сделать это в Котлин?

4b9b3361

Ответ 1

В соответствии с reference массивы создаются следующим образом:

  • Для примитивных типов Java существуют различные типы IntArray, DoubleArray и т.д., в которых хранятся значения unboxed.

    Они создаются с соответствующими конструкторами и factory функциями:

    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 }