Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

382
Visualizações
Kotlin: la forma más efectiva de encontrar el primer índice del elemento mínimo en alguna lista de algunos objetos

Tengo una lista de instancias de alguna clase personalizada:

 data class Flight(val duration: Int)

Por ejemplo:

 val flights = listOf(Flight(10), Flight(5), Flight(5), Flight(15), Flight(20))

¿Cómo encontrar de manera más efectiva el primer índice del elemento mínimo en esta lista? En ese caso, el primer índice del elemento mínimo es 1, porque vuelos[1].duración = 5.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Algo como esto sería "más eficiente", supongo:

 var min: Pair<Int, Flight>? = null for (f in flights.withIndex()) { if (min == null || min.second.duration > f.value.duration) min = f.index to f.value }

Y este hace básicamente lo mismo y se ve mucho mejor:

 flights.withIndex().minBy { (_, f) -> f.duration }?.index
over 4 years ago · Santiago Trujillo Relatório

0

Con minBy() para obtener el elemento de la lista con la duración mínima
y luego indexOf() para obtener su índice:

 val index = flights.indexOf(flights.minBy { it.duration })

Para solo 1 escaneo de la lista, puede hacer un bucle clásico:

 var index = if (flights.isEmpty()) -1 else 0 flights.forEachIndexed { i, flight -> if (flight.duration < flights[index].duration) index = i }
over 4 years ago · Santiago Trujillo Relatório

0

Tratar

 val index = flights.minBy { it.duration }?.let { flights.indexOf(it) }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda