[kotlin] Kotlin의 MutableList를 초기화하여 MutableList를 비우려면 어떻게해야합니까?

너무 간단 해 보이지만 어떻게 Kotlin MutableList을 비우기 위해 초기화 MutableList합니까?

이 방법으로 해킹 할 수는 있지만 사용하기 쉬운 것이 확실합니다.

var pusta: List<Kolory> = emptyList()
var cos: MutableList<Kolory> = pusta.toArrayList()



답변

간단히 쓸 수 있습니다 :

val mutableList = mutableListOf<Kolory>()

이것이 가장 관용적 인 방법입니다.

다른 방법은

val mutableList : MutableList<Kolory> = arrayListOf()

또는

val mutableList : MutableList<Kolory> = ArrayList()

이것은 Java 유형과 같은 컴파일러 ArrayList유형을 MutableList통해 암시 적으로 유형 을 구현 한다는 사실을 이용하고 있습니다 .


답변

배열 유형의 목록 유형에 따라 다양한 형태 :

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

LinkedList의 경우 :

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

다른 목록 유형의 경우 직접 구성하면 Mutable로 가정됩니다.

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

이는 List인터페이스를 구현하는 모든 것 (즉, 다른 컬렉션 라이브러리)에 적용됩니다.

목록이 이미 변경 가능한 경우 왼쪽에서 유형을 반복 할 필요가 없습니다. 또는 다음과 같이 읽기 전용으로 취급하려는 경우에만 :

val myList: List<Kolory> = ArrayList()


답변

나는 아래를 좋아한다.

var book: MutableList<Books> = mutableListOf()

/ ** 주어진 요소를 가진 새로운 [MutableList]를 반환합니다. * /

public fun <T> mutableListOf(vararg elements: T): MutableList<T>
    = if (elements.size == 0) ArrayList() else ArrayList(ArrayAsCollection(elements, isVarargs = true))


답변