{"id":354,"date":"2023-09-02T09:54:12","date_gmt":"2023-09-02T09:54:12","guid":{"rendered":"http:\/\/javigomez.org\/?p=354"},"modified":"2025-09-29T20:34:09","modified_gmt":"2025-09-29T20:34:09","slug":"03-kotlin-funciones-arrays-for-set-list-y-maps","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2023\/09\/02\/03-kotlin-funciones-arrays-for-set-list-y-maps\/","title":{"rendered":"03. Kotlin &#8211; Funciones, Arrays, For, Set, List y Maps"},"content":{"rendered":"\n<p><strong>1. Funciones<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main(args: Array&lt;String>) {\n    showMyName()\n}\n\nfun showMyName(){\n    println(\"Me llamo Javi\")\n}\n<\/code><\/pre>\n\n\n\n<p>Funciones con par\u00e1metros de entrada<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main(args: Array&lt;String>) {\n    showMyInformation(\"Javi\", \"Profe\", 55)\n}\nfun showMyInformation(name: String, prof: String, age: Int){\n    println(\"Me llamo $name soy $prof y tengo $age a\u00f1os.\")\n}\n<\/code><\/pre>\n\n\n\n<p>Funciones con par\u00e1metros de entrada por defecto<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main() {\n    muestra()\n}\n\nfun muestra(nombre:String = \"SIN NOMBRE\"){\n    println(nombre)\n}\n<\/code><\/pre>\n\n\n\n<p>Funciones con par\u00e1metros de salida<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main(args: Array&lt;String>) {\n    var result = add(5, 10)\n    println(result)\n}\n\nfun add(a: Int, b: Int) : Int{\n    return a + b\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 01 Funciones\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/zj1bDuuE-Vs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>2. Arrays<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val weekDays = arrayOf(\"Lunes\", \"Martes\", \"Mi\u00e9rcoles\", \"Jueves\", \"Viernes\", \"S\u00e1bado\", \"Domingo\")\n\nval numeros: Array&lt;Int> = arrayOf(1, 2, 3, 4, 5)\n\nprintln(weekDays.<strong>get<\/strong>(0))\n\n    if(weekDays.<strong>size <\/strong>>= 8){\n        println(weekDays.get(7))\n    }else{\n        println(\"no tiene m\u00e1s par\u00e1metros el array\")\n    }\nweekDays.<strong>set<\/strong>(0, \"Horrible lunes\") \/\/Conten\u00eda Lunes\n\n\nval primerNumero = numeros&#91;0]\nprintln(\"El primer n\u00famero es: $primerNumero\")\n<\/code><\/pre>\n\n\n\n<p>Recorriendo Arrays<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val weekDays = arrayOf(\"Lunes\", \"Martes\", \"Mi\u00e9rcoles\", \"Jueves\", \"Viernes\", \"S\u00e1bado\", \"Domingo\")\n    for (posicion in weekDays.indices){\n        println(weekDays.get(posicion))\n    }\n\n    for ((posicion, valor) in weekDays.withIndex()) {\n        println(\"La posici\u00f3n $posicion contiene el valor $valor\")\n    }\n\nfor (weekDay in weekDays) {\n      println(weekDay)\n  }\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 02 Arrays\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/8IJl0rV9hxE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>3. Bucles For<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Iteraci\u00f3n ascendente\nfor (i in 1..5) {\n    println(i)\n}\n\n\/\/ Iteraci\u00f3n descendente\nfor (i in 5 downTo 1) {\n    println(i)\n}\n\n\n\/\/ Iteraci\u00f3n con incremento\nfor (i in 0 until 10 step 2) {\n    println(i)\n}\n\n\/\/ Iteraci\u00f3n con decremento\nfor (i in 10 downTo 0 step 2) {\n    println(i)\n}\n<\/code><\/pre>\n\n\n\n<p>Iterando un colecci\u00f3n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val lista = arrayOf(\"a\", \"b\", \"c\")\n\nfor (elemento in lista) {\n    println(elemento)\n}\n\nfor ((indice, elemento) in lista.withIndex()) {\n    println(\"Elemento en el \u00edndice $indice: $elemento\")\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code> var recibos: Array&lt;String> = arrayOf(\"luz\",\"agua\",\"gas\")\n        recibos.set(0,\"telefono\")\n        <strong>recorrer_array<\/strong>(recibos)\n}\n\n    fun <strong>recorrer_array<\/strong>(a:Array&lt;String>){\n        for (i in a)\n            println(i);\n}\n\n fun <strong>recorrer_array<\/strong>(a:Array&lt;String>){\n        for (i in a.indices)\n            println(a.get(i))\n    }\n\n fun <strong>recorrer_array<\/strong>(a:Array&lt;String>){\n        for (i in 0..a.size-1)\n            println(\"El recibo ${i+1} es el ${a.get(i)}\")\n    }\n\n fun <strong>recorrer_array<\/strong>(a:Array&lt;String>){\n        for (i in 0 until a.size)\n            println(\"El recibo ${i+1} es el ${a.get(i)}\")\n    }\n<\/code><\/pre>\n\n\n\n<p>Recorriendo una matriz<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var matriz = arrayOf(\n            intArrayOf(1,2,3),\n            intArrayOf(4,5,6,66),\n            intArrayOf(7,8,9,10,11),\n            intArrayOf(20,21)\n        )\n\n        for (i in 0 until matriz.size step 1) {\n            for (j in 0 until matriz&#91;i].size step 1)\n                println(matriz&#91;i]&#91;j])\n            println(\"----\")\n        }\n\n        for (h in (0 until matriz.size)) {\n            for (x in (0 until matriz&#91;h].size))\n                println(\"Posici\u00f3n &#91;$h]&#91;$x] es ${matriz&#91;h]&#91;x]}\")\n            println(\"**\")\n        }\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 03 For\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/Smt7KFj-a0o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>4. Set inmutable<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val numeros: Set&lt;Int> = setOf(1, 2, 3, 4, 5, 1, 2)\n\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5]\nprintln(numeros.size) \/\/Imprime: 5\n\n\/\/ Verificar si un elemento est\u00e1 presente en el set\nval contieneTres = numeros.contains(3)\nprintln(contieneTres) \/\/ Imprime: true\n\n\/\/ Agregar elementos a un set\nval nuevosNumeros = numeros.plus(6)\nprintln(nuevosNumeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5, 6]\n\n\/\/ Eliminar elementos de un set\nval numerosSinDos = numeros.minus(2)\nprintln(numerosSinDos) \/\/ Imprime: &#91;1, 3, 4, 5]\n\n\/\/ Operaciones entre sets\nval otrosNumeros = setOf(4, 5, 6, 7, 8)\nval union = numeros.union(otrosNumeros)\nprintln(union) \/\/ Imprime: &#91;1, 2, 3, 4, 5, 6, 7, 8]\n\nval interseccion = numeros.intersect(otrosNumeros)\nprintln(interseccion) \/\/ Imprime: &#91;4, 5]\n\nval diferencia = numeros.subtract(otrosNumeros)\nprintln(diferencia) \/\/ Imprime: &#91;1, 2, 3]\n\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 04 SetInmutables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/VYthvqpzPVw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>5. Set mutables<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val numeros: MutableSet&lt;Int> = mutableSetOf(1, 2, 3, 4, 5)\n\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5]\nprintln(numeros.size) \/\/Imprime: 5\n\n\/\/ Agregar un elemento al set\nnumeros.add(6)\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5, 6]\n\n\/\/ Eliminar un elemento del set\nnumeros.remove(2)\nprintln(numeros) \/\/ Imprime: &#91;1, 3, 4, 5, 6]\n\n\/\/ Verificar si un elemento est\u00e1 presente en el set\nval contieneTres = numeros.contains(3)\nprintln(contieneTres) \/\/ Imprime: true\n\n\/\/ Iterar sobre los elementos del set\nfor (numero in numeros) {\n    println(numero)\n}\n\n\/\/ Borrar todos los elementos del set\nnumeros.clear()\nprintln(numeros) \/\/ Imprime: &#91;]\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 05 SetMutables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/WsEzioZtpbY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>6. List inmutables<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val numeros: List&lt;Int> = listOf(1, 2, 3, 4, 5)\n\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5]\n\n\/\/ Acceder a un elemento de la lista\nval primerNumero = numeros&#91;0]\nprintln(primerNumero) \/\/ Imprime: 1\n\n\/\/ Iterar sobre los elementos de la lista\nfor (numero in numeros) {\n    println(numero)\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>val readOnly: List&lt;String> = listOf(\"Lunes\", \"Martes\", \"Mi\u00e9rcoles\", \"Jueves\", \"Viernes\", \"S\u00e1bado\", \"Domingo\")\nreadOnly.size \/\/Muestra el tama\u00f1o de la lista\nreadOnly.get(3) \/\/Devuelve el valor de la posici\u00f3n 3\nreadOnly.first() \/\/Devuelve el primer valor\nreadOnly.last() \/\/Devuelve el \u00faltimo valor\nprintln(readOnly) \/\/&#91;Lunes, Martes, Mi\u00e9rcoles, Jueves, Viernes, S\u00e1bado, Domingo]\n\nval a = readOnly.filter { it == \"Lunes\" || it == \"Juernes\" }\n\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>fun main() {\n\n    val readOnly: List&lt;String> = listOf(\"Lunes\", \"Martes\", \"Mi\u00e9rcoles\", \"Jueves\", \"Viernes\", \"S\u00e1bado\", \"Domingo\")\n\n    val a=readOnly.filter { it.contains('a') }\n    println(a)\n}\n\n\nfun main() {\n    val readOnly: List&lt;String> = listOf(\"Lunes\", \"Martes\", \"Mi\u00e9rcoles\", \"Jueves\", \"Viernes\", \"S\u00e1bado\", \"Domingo\")\n    readOnly.forEach { println(it) }\n readOnly.forEach { dias -> println(dias) }\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 06 ListInmutables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/pP0-b3Cm_Gw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>7. List mutables<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>val numeros: MutableList&lt;Int> = mutableListOf(1, 2, 3, 4, 5)\n\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5]\n\n\/\/ Agregar elementos a la lista\nnumeros.add(6)\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 3, 4, 5, 6]\n\n\/\/ Eliminar elementos de la lista\nnumeros.removeAt(2)\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 4, 5, 6]\n\n\/\/ Modificar un elemento de la lista\nnumeros&#91;3] = 7\nprintln(numeros) \/\/ Imprime: &#91;1, 2, 4, 7, 6]\n\n\/\/ Iterar sobre los elementos de la lista\nfor (numero in numeros) {\n    println(numero)\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>var mutableList: MutableList&lt;String> = mutableListOf()\n   mutableList.none() \/\/Nos devuelve un true si est\u00e1 vac\u00eda la lista\n   mutableList.firstOrNull() \/\/Nos devolver\u00e1 el primer campo, y si no hay, un null.\n   mutableList.elementAtOrNull(2) \/\/El elemento del \u00edndice 2, si no hay, devolver\u00e1 un null\n   mutableList.lastOrNull() \/\/\u00daltimo valor de la lista o null\n   mutableList.last() \/\/\u00daltimo valor de la lista\n\nfun main() {\n    val dias:MutableList&lt;String> = mutableListOf(\"Lunes\", \"Martes\", \"Mi\u00e9rcoles\", \"Jueves\", \"Viernes\", \"S\u00e1bado\", \"Domingo\")\n    dias.add(\"Otro dia\")\n    dias.add(1, \"Nuevo dia\")\n    dias.forEach { println(it) }\n}\n\nfun main() {\nval dias:MutableList&lt;String> = mutableListOf()\n\n    if (dias.isEmpty())\n        println(\"no hay nada\")\n    else\n        dias.forEach { println(it) }\n\n    if (dias.isNotEmpty())\n        dias.forEach { println(it) }\n\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 07 ListMutables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/qtkAqwz-Fys?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>8. Map inmutable y mutable<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var mapa: Map&lt;Int,String> = mapOf(\n    1 to \"Espa\u00f1a\",\n    2 to \"Mexico\",\n    3 to \"Colombia\"\n)\nprintln(mapa) \/\/{1=Espa\u00f1a, 2=Mexico, 3=Colombia}\n        println(mapa&#91;2]) \/\/Mexico\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>val capitales: MutableMap&lt;String, String> = mutableMapOf(\n    \"Espa\u00f1a\" to \"Madrid\",\n    \"Francia\" to \"Par\u00eds\",\n    \"Italia\" to \"Roma\",\n    \"Alemania\" to \"Berl\u00edn\"\n)\n\nprintln(capitales) \/\/ Imprime: {Espa\u00f1a=Madrid, Francia=Par\u00eds, Italia=Roma, Alemania=Berl\u00edn}\n\n\/\/ Agregar un nuevo par clave-valor\ncapitales&#91;\"Inglaterra\"] = \"Londres\"\nprintln(capitales) \/\/ Imprime: {Espa\u00f1a=Madrid, Francia=Par\u00eds, Italia=Roma, Alemania=Berl\u00edn, Inglaterra=Londres}\n\n\/\/ Modificar el valor de una clave existente\ncapitales&#91;\"Italia\"] = \"Florencia\"\nprintln(capitales) \/\/ Imprime: {Espa\u00f1a=Madrid, Francia=Par\u00eds, Italia=Florencia, Alemania=Berl\u00edn, Inglaterra=Londres}\n\n\/\/ Eliminar un par clave-valor\ncapitales.remove(\"Francia\")\nprintln(capitales) \/\/ Imprime: {Espa\u00f1a=Madrid, Italia=Florencia, Alemania=Berl\u00edn, Inglaterra=Londres}\n\n\/\/ Iterar sobre los pares clave-valor del MutableMap\nfor ((pais, capital) in capitales) {\n    println(\"La capital de $pais es $capital\")\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U03 08 Maps\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/tI7TNm_nn78?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>1. Funciones Funciones con par\u00e1metros de entrada Funciones con par\u00e1metros de entrada por defecto Funciones con par\u00e1metros de salida 2. Arrays Recorriendo Arrays 3. Bucles &hellip; <\/p>\n","protected":false},"author":1,"featured_media":347,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[40,167,212,221,224,226,303],"class_list":["post-354","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kotlin","tag-array","tag-funciones","tag-kotlin","tag-list","tag-map","tag-matriz","tag-set"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=354"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/354\/revisions"}],"predecessor-version":[{"id":944,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/354\/revisions\/944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media\/347"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}