Pair y Triple
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 71 de 93.
A veces necesitas agrupar solo dos o tres valores relacionados sin crear una lista completa. Kotlin proporciona Pair y Triple exactamente para este propósito.
Un Pair contiene exactamente dos valores. Crea uno usando el constructor Pair() o la palabra clave to:
val coordinates = Pair(10, 20)
val person = "Alice" to 25 // Igual que Pair("Alice", 25)Accede a los valores usando first y second:
val point = Pair(5, 8)
println(point.first) // 5
println(point.second) // 8Un Triple funciona de manera similar, pero contiene tres valores, a los que se accede con first, second y third:
val rgb = Triple(255, 128, 0)
println(rgb.first) // 255
println(rgb.second) // 128
println(rgb.third) // 0Estos son útiles cuando una función necesita devolver varios valores, o cuando quieres agrupar datos relacionados sin definir una clase personalizada. Los valores pueden ser de distintos tipos, lo que los hace flexibles para diversas situaciones.
Desafío
IntermedioEscribe una función getMinMax que reciba una lista de enteros y devuelva un Pair que contenga los valores mínimo y máximo, y después los formatee como una cadena.
Crea un Pair donde first contenga el valor mínimo y second contenga el valor máximo de la lista. Después devuelve una cadena formateada usando las propiedades del par.
Parámetros:
numbers(List<Int>): Una lista de enteros con al menos un elemento
Devuelve: Una cadena con el formato "Min: X, Max: Y", donde X es el valor mínimo (first) y Y es el valor máximo (second) del Pair.
Restricciones de entrada: la lista de entrada no está vacía.
Pruébalo tú mismo
fun getMinMax(numbers: List<Int>): String {
// Escribe el código aquí
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación aumentadaOperadores de comparaciónRepaso: matemáticas simples7Entrada y salida básicas
Función PrintlnPlantillas de cadenasEntrada con ReadLineConversión de tiposRepaso - Años hasta la jubilaciónRepaso - Verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoArgumentos con nombreValores predeterminadosFunciones de una sola expresiónRepaso - Función SigmaRepaso - Función de validación2Variables
Val frente a VarInferencia de tiposNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Ternario con expresión ifRepaso: lógica simple8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Nullabilidad
Qué es la seguridad frente a valores nulosTipos anulablesOperador de llamada seguraOperador ElvisConceptos básicos de retos de funcionesAfirmación de no nulidadRepaso: acceso seguro6Toma de decisiones
Sentencia ifIf - ElseIf como expresiónExpresión whenWhen con rangosRepaso - Calculadora simple9Bucles
Bucle ForBucle WhileBucle Do-WhileBreakContinueRangos en buclesBucle anidadoRepaso - FactorialRepaso - Entrada dinámica12Conceptos básicos de las listas
List vs MutableListAcceso a elementosModificación de listasMétodos de listasPair y TripleRepaso - Lista de productosRepaso - Lista invertidaPractica por tu cuenta: Playground de Kotlin