Una lista es una colección ordenada genérica de elementos. Kotlin tiene dos tipos de listas, listas inmutables (no se pueden modificar) y listas mutables (se pueden modificar).
Las listas de solo lectura se crean con listOf() cuyos elementos no se pueden modificar y las listas mutables se crean con el método mutableListOf() donde alteramos o modificamos los elementos de la lista.
El programa Kotlin de la lista contiene enteros –
Java
fun main(args: Array<String>) { val a = listOf('1', '2', '3') println(a.size) println(a.indexOf('2')) println(a[2]) }
Producción:
3 1 3
El programa Kotlin de la lista contiene strings:
Java
fun main(args: Array<String>) { //creating list of strings val a = listOf("Ram", "Shyam", "Raja", "Rani") println("The size of the list is: "+a.size) println("The index of the element Raja is: "+a.indexOf("Raja")) println("The element at index "+a[2]) for(i in a.indices){ println(a[i]) } }
Producción:
The size of the list is: 4 The index of the element Raja is: 2 The element at index Raja Ram Shyam Raja Rani
Indexación de Elementos de Lista en Kotlin –
Cada elemento de una lista tiene un índice. El primer elemento tiene un índice de cero (0) y el último elemento tiene un índice
len – 1, donde ‘len’ es la longitud de la lista.
Java
fun main(args: Array<String>) { val numbers = listOf(1, 5, 7, 32, 0, 21, 1, 6, 10) val num1 = numbers.get(0) println(num1) val num2 = numbers[7] println(num2) val index1 = numbers.indexOf(1) println("The first index of number is $index1") val index2 = numbers.lastIndexOf(1) println("The last index of number is $index2") val index3 = numbers.lastIndex println("The last index of the list is $index3") }
Producción:
1 6 The first index of number is 0 The last index of number is 6 The last index of the list is 8
Primeros y Últimos Elementos –
Podemos recuperar el primer y el último elemento de la lista sin utilizar el método get().
Considerando el ejemplo anterior, si incluimos el siguiente código después de la línea no. 17
Java
fun main(args: Array<String>) { val numbers = listOf(1, 5, 7, 32, 0, 21, 1, 6, 10) println(numbers.first()) println(numbers.last()) }
Producción:
1 10
Listar métodos de iteración –
Es un proceso de acceder a los elementos de la lista uno por uno.
Hay varias formas de hacer esto en Kotlin.
Java
fun main(args: Array<String>) { val names = listOf("Gopal", "Asad", "Shubham", "Aditya", "Devarsh", "Nikhil", "Gagan") // method 1 for (name in names) { print("$name, ") } println() // method 2 for (i in 0 until names.size) { print("${names[i]} ") } println() // method 3 names.forEachIndexed({i, j -> println("names[$i] = $j")}) // method 4 val it: ListIterator<String> = names.listIterator() while (it.hasNext()) { val i = it.next() print("$i ") } println() }
Producción:
Gopal, Asad, Shubham, Aditya, Devarsh, Nikhil, Gagan, Gopal Asad Shubham Aditya Devarsh Nikhil Gagan names[0] = Gopal names[1] = Asad names[2] = Shubham names[3] = Aditya names[4] = Devarsh names[5] = Nikhil names[6] = Gagan Gopal Asad Shubham Aditya Devarsh Nikhil Gagan
Explicación:
for (name in names) { print("$name, ") }
El bucle for recorre la lista. En cada ciclo, la variable ‘nombre’ apunta al siguiente elemento de la lista.
for (i in 0 until names.size) { print("${names[i]} ") }
Este método utiliza el tamaño de la lista. La palabra clave hasta crea un rango de índices de lista.
names.forEachIndexed({i, j -> println("namess[$i] = $j")})
Con el método forEachIndexed(), recorremos la lista con el índice y el valor disponibles en cada iteración.
val it: ListIterator = names.listIterator() while (it.hasNext()) { val i = it.next() print("$i ") }
Aquí usamos un ListIterator para iterar a través de la lista.
Ordenando los elementos en la lista –
El siguiente ejemplo muestra cómo ordenar una lista en orden ascendente o descendente.
Java
fun main(args: Array<String>) { val list = listOf(8, 4, 7, 1, 2, 3, 0, 5, 6 ) val asc = list.sorted() println(asc) val desc = list.sortedDescending() println(desc) }
Producción:
[0, 1, 2, 3, 4, 5, 6, 7, 8] [8, 7, 6, 5, 4, 3, 2, 1, 0]
Explicación:
val asc = list.sorted()
El método sorted() ordena la lista en orden ascendente.
val desc = list.sortedDescending()
El método sortedDescending() ordena la lista en orden descendente.
Contiene() y contiene todas las funciones() –
Este método verifica si un elemento existe en la lista o no.
Java
fun main(args: Array<String>) { val list = listOf(8, 4, 7, 1, 2, 3, 0, 5, 6 ) val res = list.contains(0) if (res) println("The list contains 0") else println("The list does not contain 0") val result = list.containsAll(listOf(3, -1)) if (result) println("The list contains 3 and -1") else println("The list does not contain 3 and -1") }
Producción:
The list contains 0 The list does not contain 3 and -1
Explicación:
val res = list.contains(0)
Comprueba si la lista contiene 0 o no y devuelve verdadero o falso (su verdadero) que se almacena en res.
val result = list.containsAll(listOf(3, -1))
Comprueba si la lista contiene 3 y -1 o no.
Publicación traducida automáticamente
Artículo escrito por dahalegopal27 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA