Inicialização de array em Kotlin: 5 maneiras com exemplos de código

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Arrays em Kotlin: não tenha medo, é simples

\n\n

Se você está migrando do Java para o Kotlin ou está começando a aprender esta linguagem moderna, a pergunta «como inicializar um array em Kotlin com valores» surge quase imediatamente. No Stack Overflow, este tópico acumulou milhares de visualizações — o que significa que o tema é realmente importante.

\n\n

A boa notícia: o Kotlin tornou o trabalho com arrays muito mais conveniente do que em Java. A má notícia: existem várias maneiras, e os iniciantes frequentemente se confundem. Vamos de uma vez por todas analisar todas as opções de inicialização de array Kotlin — do simples ao complexo, com exemplos de código reais.

\n\n

1. A maneira mais simples: arrayOf()

\n\n

A função arrayOf() é o seu pão de cada dia. Ela cria um array a partir dos valores passados, determinando automaticamente o tipo.

\n\n
// Array de números inteiros\nval numbers = arrayOf(1, 2, 3, 4, 5)\n\n// Array de strings\nval fruits = arrayOf("maçã", "banana", "laranja")\n\n// Array de tipo misto (Any)\nval mixed = arrayOf(42, "Kotlin", true)\n\nprintln(numbers.contentToString()) // [1, 2, 3, 4, 5]\nprintln(fruits.contentToString())   // [maçã, banana, laranja]\n
\n\n

Importante: arrayOf() cria um Array<T> — um array de objetos. Se você precisar de tipos primitivos (int, char, boolean) para desempenho, continue lendo.

\n\n

2. Arrays primitivos: intArrayOf(), doubleArrayOf() e outros

\n\n

O Kotlin oferece funções especializadas para cada tipo primitivo. Elas economizam memória e funcionam mais rápido:

\n\n
// Números inteiros\nval intArr = intArrayOf(10, 20, 30, 40, 50)\n\n// Números de ponto flutuante\nval doubleArr = doubleArrayOf(1.5, 2.7, 3.14)\n\n// Valores lógicos\nval boolArr = booleanArrayOf(true, false, true)\n\n// Caracteres\nval charArr = charArrayOf('K', 'o', 't', 'l', 'i', 'n')\n\n// Bytes\nval byteArr = byteArrayOf(0x48, 0x65, 0x6C, 0x6C, 0x6F) // "Hello"\n\nprintln(intArr.joinToString()) // 10, 20, 30, 40, 50\n
\n\n

Lista completa: intArrayOf, doubleArrayOf, floatArrayOf, longArrayOf, shortArrayOf, byteArrayOf, booleanArrayOf, charArrayOf.

\n\n

Quando usar? Se você trabalha com grandes volumes de dados ou escreve código de alto desempenho — use arrays primitivos. Para tarefas comuns, arrayOf() é suficiente.

\n\n

3. Construtor de array: Array(size) com lambda

\n\n

A maneira mais flexível de inicializar um array em Kotlin é usar o construtor com uma expressão lambda. Você define o tamanho e a regra de preenchimento:

\n\n
// Quadrados dos números de 0 a 4\nval squares = Array(5) { i -> i * i }\nprintln(squares.contentToString()) // [0, 1, 4, 9, 16]\n\n// Array de 10 números aleatórios\nimport kotlin.random.Random\nval randoms = Array(10) { Random.nextInt(100) }\nprintln(randoms.contentToString()) // [42, 17, 83, 5, 91, ...]\n\n// Array de strings com modelo\nval labels = Array(3) { index -> "Elemento #${index + 1}" }\nprintln(labels.contentToString()) // [Elemento #1, Elemento #2, Elemento #3]\n
\n\n

A lambda recebe o índice do elemento (de 0 a size-1) e deve retornar o valor. Esta é uma ferramenta poderosa — você pode preencher o array com qualquer regra, incluindo chamadas de funções.

\n\n

4. arrayOfNulls() — array com células vazias

\n\n

Às vezes, é necessário criar um array e preenchê-lo depois. Para isso, existe arrayOfNulls():

\n\n
// Array de 5 elementos null\nval nullArray = arrayOfNulls<String>(5)\nprintln(nullArray.contentToString()) // [null, null, null, null, null]\n\n// Preenchendo depois\nnullArray[0] = "Primeiro"\nnullArray[2] = "Terceiro"\nprintln(nullArray.contentToString()) // [Primeiro, null, Terceiro, null, null]\n
\n\n

O tipo precisa ser especificado explicitamente — o compilador

Blogs

Book Recommendations