associateWith() создает карту, где ключами являются элементы исходной коллекции, а значениями — результат применения преобразования к КАЖДОМУ элементу.
В чем разница между функциями коллекций associateWith() и associateBy()?
associateWith() создает карту, где ключами являются элементы исходной коллекции, а значениями — результат применения преобразования к КАЖДОМУ элементу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
associateWith() создает карту, где ключами являются элементы исходной коллекции, а значениями — результат применения преобразования к КАЖДОМУ элементу.
associateBy() создает карту, где ключами являются результат применения преобразования к КАЖДОМУ элементу исходной коллекции, а значениями — сами элементы (или результат другого преобразования элемента).
При конфликте ключей в обеих функциях берется последний элемент, соответствующий ключу.