Что такое изменяемый тип данных

«Что такое изменяемый тип данных» — вопрос из категории ООП, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Изменяемый (mutable) тип данных позволяет изменять содержимое объекта после его создания. В Kotlin примеры: ArrayList, HashMap, MutableList.

Пример:

val mutableList = mutableListOf(1, 2, 3)
mutableList.add(4) // OK, изменяем список

В отличие от неизменяемых (immutable) типов (List, Set по умолчанию), где содержимое нельзя изменить после создания:

val immutableList = listOf(1, 2, 3)
// immutableList.add(4) - ошибка компиляции

Используйте mutable для случаев, когда коллекция должна динамически изменяться, но предпочитайте immutable для thread-safety и предсказуемости.