Inicializando matrizes no Kotlin

Inicializando matrizes no Kotlin

 

1. Visão geral

Neste tutorial rápido, veremos como podemos inicializar um array em Kotlin.

2. um métodorrayOf Library

O Kotlin tem um métodoarrayOf integrado que converte os valores enumerados fornecidos em uma matriz do tipo fornecido:

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

3. Matrizes primitivas

Também podemos usar o métodoarrayOf com valores primitivos.

No entanto, o Kotlin aplicará automaticamente os valores primitivos às suas classes de wrapper de objeto correspondentes, o que terá implicações prejudiciais no desempenho. Para evitar essa sobrecarga, o Kotlin possui amplo suporte para matrizes primitivas. There are dedicated arrayOf methods for the following types: double, float, long, int, char, short, byte, boolean.

Podemos inicializar facilmente uma matriz int primitiva usando seu método dedicadoarrayOf :

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

4. Inicialização Tardia com Índices

Às vezes, não queremos definir os valores da matriz na instanciação. Nesse caso, podemos criar uma matriz denull values.

Após a instanciação, podemos acessar e definir os campos da matriz. Existem várias maneiras de fazer isso, mas uma forma comum é usar o loop _. 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 da propriedadeindices de Kotlin.

Vamos inicializar nossa matriz com números quadrados usando esta abordagem:

val array = arrayOfNulls(5)

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

5. Gerando Valores com um Inicializador

Primitive arrays and object arrays both have constructors that accept an initializer function as a second parameter. Essa função de inicialização pega o índice como parâmetro de entrada, converte-o no valor apropriado usando a função e o insere na matriz.

Podemos inicializar uma matriz com números quadrados em uma linha:

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

Como mencionado, esse tipo de construtor também está disponível para matrizes de objetos:

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

6. Conclusão

Neste tutorial, vimos como inicializar matrizes no Kotlin. Descobrimos a ampla gama de suporte para matrizes primitivas. Também observamos como podemos usar o construtor de array com uma função inicializadora para escrever código conciso.

Como sempre, o código está disponívelover on GitHub.