Какой hashCode у списка по умолчанию

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

Ответ

Хеш-код списка (List) в Java (и, соответственно, в Android) вычисляется на основе хеш-кодов всех его элементов. Формула:
hashCode = 1; hashCode = 31 * hashCode + (element == null ? 0 : element.hashCode()) для каждого элемента.

Пример:

val list = listOf("a", "b", null)
println(list.hashCode()) // Выведет 126145

Это гарантирует, что списки с одинаковыми элементами в одном порядке будут иметь одинаковый hashCode.