Pair e Triple
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 71 de 93.
Às vezes, você precisa agrupar apenas dois ou três valores relacionados sem criar uma lista completa. Kotlin fornece Pair e Triple exatamente para esse propósito.
Um Pair contém exatamente dois valores. Crie um usando o construtor Pair() ou a palavra-chave to:
val coordinates = Pair(10, 20)
val person = "Alice" to 25 // O mesmo que Pair("Alice", 25)Acesse os valores usando first e second:
val point = Pair(5, 8)
println(point.first) // 5
println(point.second) // 8Um Triple funciona de maneira semelhante, mas contém três valores, acessados com first, second e third:
val rgb = Triple(255, 128, 0)
println(rgb.first) // 255
println(rgb.second) // 128
println(rgb.third) // 0Esses são úteis quando uma função precisa retornar vários valores ou quando você quer agrupar dados relacionados sem definir uma classe personalizada. Os valores podem ser de tipos diferentes, tornando-os flexíveis para várias situações.
Desafio
MédioEscreva uma função getMinMax que receba uma lista de inteiros e retorne um Pair contendo os valores mínimo e máximo, formatando-os então como uma string.
Crie um Pair em que first contenha o valor mínimo e second contenha o valor máximo da lista. Em seguida, retorne uma string formatada usando as propriedades do par.
Parâmetros:
numbers(List<Int>): Uma lista de inteiros com pelo menos um elemento
Retorno: Uma string no formato "Min: X, Max: Y", em que X é o valor mínimo (first) e Y é o valor máximo (second) do Pair.
Restrições de entrada: a lista de entrada não está vazia.
Experimente você mesmo
fun getMinMax(numbers: List<Int>): String {
// Escreva o código aqui
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores – Parte 1
Operadores aritméticosOperador móduloAtribuição aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin