Jak dodać przedmiot do ArrayListw Kotlinie?
Odpowiedzi:
W przypadku osób właśnie migrujących z programu javaIn Kotlin Listjest domyślnie niezmienną i zmienną wersją list MutableList.
Stąd jeśli masz coś takiego:
val list: List<String> = ArrayList()
W takim przypadku nie otrzymasz add()metody, ponieważ lista jest niezmienna. Dlatego będziesz musiał zadeklarować, MutableListjak pokazano poniżej:
val list: MutableList<String> = ArrayList()
Teraz zobaczysz add()metodę i możesz dodać elementy do dowolnej listy.
Jeśli masz kolekcję MUTABLE :
val list = mutableListOf(1, 2, 3)
list += 4
Jeśli masz kolekcję IMMUTABLE :
var list = listOf(1, 2, 3)
list += 4
Zwróć uwagę, że używam valdla listy mutable, aby podkreślić, że obiekt jest zawsze ten sam, ale jego zawartość się zmienia.
W przypadku niezmiennej listy musisz to zrobić var. +=Operator tworzy nowy obiekt z dodatkową wartością.
+=na niezmiennej liście, wymaga skopiowania wszystkich elementów listy do nowej listy mutable, a następnie ponownego przypisania jej do aktualnej listy. Nie wiedziałem, że zadeklarowanie listy jako var. w każdym razie deklarowanie listy jako var nie jest dla mnie dobrym pomysłem.
var. Jeśli niezmienna lista jest zadeklarowana jako val, to lista nie może się nigdy zmienić. Możliwe byłoby po prostu ponowne przypisanie go do innej zmiennej.