¿Cómo inicializo MutableList de Kotlin para vaciar MutableList?

Resuelto ssuukk asked hace 9 años • 6 respuestas

Parece muy simple, pero, ¿cómo inicializo Kotlin MutableListpara vaciarlo MutableList?

Podría hackearlo de esta manera, pero estoy seguro de que hay algo más fácil disponible:

var pusta: List<Kolory> = emptyList()
var cos: MutableList<Kolory> = pusta.toArrayList()
ssuukk avatar Oct 22 '15 17:10 ssuukk
Aceptado

Puedes simplemente escribir:

val mutableList = mutableListOf<Kolory>()

Esta es la forma más idiomática.

Las formas alternativas son

val mutableList : MutableList<Kolory> = arrayListOf()

o

val mutableList : MutableList<Kolory> = ArrayList()

Esto aprovecha el hecho de que los tipos de Java como ArrayListestán implementando implícitamente el tipo MutableLista través de un truco del compilador.

Kirill Rakhman avatar Oct 22 '2015 10:10 Kirill Rakhman

Varias formas dependiendo del tipo de Lista, para Array List:

val myList = mutableListOf<Kolory>() 
// or more specifically use the helper for a specific list type
val myList = arrayListOf<Kolory>()

Para lista vinculada:

val myList = linkedListOf<Kolory>()
// same as
val myList: MutableList<Kolory> = linkedListOf()

Para otros tipos de listas, se asumirá que son mutables si las construye directamente:

val myList = ArrayList<Kolory>()
// or
val myList = LinkedList<Kolory>()

Esto es válido para cualquier cosa que implemente la Listinterfaz (es decir, otras bibliotecas de colecciones).

No es necesario repetir el tipo en el lado izquierdo si la lista ya es mutable. O sólo si deseas tratarlos como de sólo lectura, por ejemplo:

val myList: List<Kolory> = ArrayList()
Jayson Minard avatar Oct 29 '2015 16:10 Jayson Minard

Me gusta a continuación para:

var book: MutableList<Books> = mutableListOf()

/** Devuelve una nueva [MutableList] con los elementos dados. */

public fun <T> mutableListOf(vararg elements: T): MutableList<T>
    = if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))
Kim avatar Aug 23 '2016 08:08 Kim

Crear una lista mutable de cadenas que aceptan valores NULL en Kotlin

val systemUsers: MutableList<String?> = mutableListOf()
FEELIX avatar Jun 08 '2021 12:06 FEELIX