¿Qué son las colecciones Kotlin?

Una colección suele contener varios objetos del mismo tipo (este número también puede ser cero). Así mismo, los objetos de una colección se denominan “elements” o “ítems”.

Las listas son colecciones ordenadas con acceso a elementos mediante índices (números enteros que reflejan su posición). Los elementos pueden aparecer más de una vez en una lista.

Los conjuntos son colecciones de elementos únicos; estos reflejan la abstracción matemática del “conjunto”: un grupo de objetos sin duplicados.

Los mapas (o diccionarios) son conjuntos de pares clave-valor. Las claves son únicas y cada una de ellas se asigna exactamente a un valor, mientras que los valores se pueden duplicar.

Pero, y ¿cómo se pueden utilizar en el mundo del Desarrollo? 

Aquí la respuesta: Kotlin te permite manipular colecciones independientemente de los tipos exactos de objetos almacenados en ellas.

En otras palabras, agrega una “Cadena” a una lista de “Cadenas” de la misma manera que lo haría con Ints o una clase definida por el usuario.

Por lo tanto, la biblioteca estándar de Kotlin ofrece interfaces, clases y funciones genéricas para crear, completar y administrar colecciones de cualquier tipo.

Hablemos ahora de sus ventajas…

  • Las colecciones almacenan datos ordenados del mismo tipo y tienen un tamaño fijo
  • Estas se utilizan para implementar muchos de los otros tipos de colecciones
  • Las listas son una colección ordenada y de tamaño variable
  • Los conjuntos son colecciones sin ordenar y no pueden contener duplicados
  • Los mapas funcionan de manera similar a los conjuntos, y almacenan pares de claves y valores del tipo especificado

A continuación revisaremos la taxonomía de las colecciones:

Implementaciones de Java.util

Colecciones Kotlin

Kotlin [Concise. Multiplatform. Fun.]. (s. f.). Taxonomía de colecciones. https://kotlinlang.org/education/. https://kotlinlang.org/Kotlin is an open-source project under the Apache 2.0 License


Colecciones Kotlin

Kotlin [Concise. Multiplatform. Fun.]. (s. f.). Taxonomía de colecciones. https://kotlinlang.org/education/. https://kotlinlang.org/Kotlin is an open-source project under the Apache 2.0 License

Un concepto clave: son iterables

Todas las colecciones en Kotlin implementan la interfaz Iterable:

Colecciones Kotlin Colecciones Kotlin

 

Ahora hablemos de los diferentes tipos de colecciones:

 

Hay 2 tipos de colecciones: Collection y MutableCollection. 

Collection implementa sólo la interfaz Iterable, mientras que MutableCollection implementa las interfaces Collection y MutableIterable.

Dicha colección le permite leer valores y hacer que la colección sea inmutable.

MutableCollection le permite cambiar la colección; por ejemplo, agregando o eliminando elementos. En otras palabras, hace que la colección sea mutable.

Colecciones Kotlin.

Google. (n.d.). Collections. https://developer.android.com/reference/java/util/Collections. https://developer.android.com/reference/java/util/Collectionsjava.lang.Object


La anatomía de una colección

Colecciones Kotlin Cada colección tiene varios métodos base:

Google. (n.d.). Collections. https://developer.android.com/reference/java/util/Collections. https://developer.android.com/reference/java/util/Collectionsjava.lang.Object

Para crear una nueva lista, puede utilizar constructores especiales (por defecto ArrayList):

Google. (n.d.). Collections. https://developer.android.com/reference/java/util/Collections. https://developer.android.com/reference/java/util/Collectionsjava.lang.Object

 

Collection operations:

Google. (n.d.). Collections. https://developer.android.com/reference/java/util/Collections. https://developer.android.com/reference/java/util/Collectionsjava.lang.Object

 

Como por ejemplo:

Kotlin [Concise. Multiplatform. Fun.]. (s. f.). Taxonomía de colecciones. https://kotlinlang.org/education/. https://kotlinlang.org/Kotlin is an open-source project under the Apache 2.0 License

En conclusión:

Este contenido abarca uno de los tipos de datos más fundamentales en la programación: el Array y varios tipos de colecciones convenientes creados a partir de Arrays, tales como: List, Set y Map. Estos tipos de colecciones te permiten agrupar y organizar valores en tu código. 

Las colecciones proporcionan acceso rápido a los elementos según su índice, mientras que los conjuntos y mapas usan códigos Hash para que sea más fácil encontrar elementos en la colección de datos.

Referencias: