В чем разница между коллекциями в Kotlin и Java

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

Ответ

Коллекции в Kotlin — это обёртки над Java-коллекциями с расширенным API. Основные отличия:

  1. Неизменяемость: Kotlin разделяет коллекции на изменяемые (MutableList, MutableSet) и неизменяемые (List, Set), в Java все коллекции изменяемые.

  2. Расширенные функции: Kotlin добавляет множество полезных функций-расширений (map, filter, groupBy и т.д.).

  3. Null-безопасность: Kotlin коллекции учитывают nullability (List<String?> vs List<String>).

Пример:

val list = listOf(1, 2, 3) // Неизменяемый список
val mutableList = mutableListOf(1, 2, 3) // Изменяемый
val filtered = list.filter { it > 1 } // [2, 3]