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.