Acessando elementos: get, first, last, getOrNull
Recupere elementos usando acessores baseados em índice e acessores funcionais.
Acessando elementos: get, first, last, getOrNull é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
Várias formas de acessar elementos
Kotlin oferece várias formas de ler elementos: por índice ([], get), por posição (first, last) e com segurança (getOrNull, firstOrNull).
Acesso por índice com []
A sintaxe com colchetes é uma forma abreviada de get(index). Lança IndexOutOfBoundsException se o índice for inválido.
fun main() {
val items = listOf("a", "b", "c")
println(items[0]) // a
println(items[2]) // c
}get versus []
list.get(i) é idêntico a list[i] — sintaxe diferente, mesmo comportamento.
fun main() {
val items = listOf(10, 20, 30)
println(items.get(1)) // 20
println(items[1]) // 20
}getOrNull para acesso seguro
getOrNull(i) retorna nulo em vez de lançar uma exceção se o índice estiver fora do intervalo.
fun main() {
val items = listOf("x", "y")
println(items.getOrNull(0)) // x
println(items.getOrNull(5)) // null
}getOrElse com um valor padrão
getOrElse(i) { default } calcula um valor padrão sob demanda se o índice for inválido.
fun main() {
val items = listOf(1, 2, 3)
println(items.getOrElse(10) { -1 }) // -1
println(items.getOrElse(1) { -1 }) // 2
}first e last
first() e last() retornam os elementos correspondentes; ambos lançam uma exceção se a lista estiver vazia.
fun main() {
val nums = listOf(5, 8, 12)
println(nums.first()) // 5
println(nums.last()) // 12
}firstOrNull / lastOrNull
As variantes ...OrNull retornam nulo em vez de lançar uma exceção para listas vazias — são muito mais seguras.
fun main() {
val empty: List<Int> = emptyList()
println(empty.firstOrNull()) // null
println(empty.lastOrNull()) // null
}Versões com predicado
first { predicate } retorna o primeiro elemento correspondente; find { predicate } é o equivalente anulável de firstOrNull { predicate }.
fun main() {
val nums = listOf(3, 7, 8, 11)
println(nums.first { it > 5 }) // 7
println(nums.firstOrNull { it > 100 }) // null
println(nums.find { it > 100 }) // null (same)
}Acessando valores de mapas
Mapas usam a mesma sintaxe [], mas ela retorna um valor anulável. getValue(key) lança uma exceção se a chave estiver ausente; getOrDefault fornece um valor alternativo.
fun main() {
val ages = mapOf("Alice" to 30, "Bob" to 25)
println(ages["Alice"]) // 30
println(ages["Charlie"]) // null
println(ages.getOrDefault("Z", 0)) // 0
}elementAt e elementAtOrNull
Conjuntos e outras coleções sem suporte a índices também oferecem elementAt(i) e sua variante OrNull.
fun main() {
val s = setOf("a", "b", "c")
println(s.elementAt(1)) // b
println(s.elementAtOrNull(10)) // null
}Escolhendo o acesso adequado
Prefira as variantes seguras (getOrNull, firstOrNull, getOrDefault), a menos que possa provar que o índice é válido. As exceções são custosas e é fácil esquecer de tratá-las.
fun headOf(list: List<Int>): Int? = list.firstOrNull()
fun main() {
println(headOf(listOf(1, 2, 3))) // 1
println(headOf(emptyList())) // null
}Verificação rápida
Qual acesso retorna nulo em vez de lançar uma exceção quando o índice está fora do intervalo?
Recapitulação
Use []/get para acesso direto (lança uma exceção em caso de erro). Prefira getOrNull, firstOrNull, lastOrNull, getOrDefault e getOrElse quando os limites puderem ser inválidos. Mapas usam [] para valores anuláveis e getValue para lançar exceções.
Aprenda Kotlin com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 51
- Aulas
- 203
Perguntas Frequentes
A aula “Acessando elementos: get, first, last, getOrNull” é grátis?
Sim — o texto completo de “Acessando elementos: get, first, last, getOrNull” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “Acessando elementos: get, first, last, getOrNull”?
Recupere elementos usando acessores baseados em índice e acessores funcionais. Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Acessando elementos: get, first, last, getOrNull”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- listOf, setOf, mapOf: coleções somente para leitura
- mutableListOf, mutableMapOf: construtores mutáveis
- Acessando elementos: get, first, last, getOrNull
- Iterando e transformando coleções com a biblioteca padrão