Avatar ·

Was ist der Unterschied zwischen ArrayList<String>() und mutableListOf<String>() in Kotlin?

Hallo! Ich habe angefangen, Kotlin nach Java zu lernen, und mir ist aufgefallen, dass es zwei Möglichkeiten gibt, eine veränderbare Liste zu erstellen:\n\n```kotlin\nval list1: ArrayList = ArrayList()\nval list2: MutableList = mutableListOf()\n```\n\nBeide Varianten scheinen gleich zu funktionieren: Ich kann Elemente hinzufügen, entfernen und ändern. Aber mich verwirrt, dass in einem Fall der Typ explizit als `ArrayList` angegeben ist, im anderen als `MutableList`.\n\nIch habe versucht, diesen Code zu schreiben:\n\n```kotlin\nfun processList(list: MutableList) {\n list.add("Kotlin")\n}\n\nval arrayList = ArrayList()\nval mutableList = mutableListOf()\n\nprocessList(arrayList) // funktioniert\nprocessList(mutableList) // funktioniert auch\n```\n\nBeide Listen werden an eine Funktion übergeben, die `MutableList` erwartet. Bedeu