Подтвердить что ты не робот

Что такое эквивалент Guava Scala flatMap?

Просмотр https://github.com/google/guava/wiki/FunctionalExplained Я вижу операции типа transform, который преобразует список, но сохранит ту же мощность. Как я могу выполнить преобразование, которое приводит к другой мощности? например (псевдокод) List(1,2,3).transform(i => List(i, i))List(1,1,2,2,3,3)

4b9b3361

Ответ 2

Я не думаю, что там есть прямой перевод, но transform, а затем concat должен быть эквивалентным.

Ответ 3

В Eclipse Collections, collect() является эквивалентом Scala map() и flatCollect() является эквивалентом Scala flatMap().

Вот пример использования flatCollect с Java 8 Lambdas.

Примечание. Я являюсь коммиттером для коллекций Eclipse.

Ответ 4

Обратите внимание на одно: Scala методы карты возвращают новые коллекции, а метод transform() в Guava возвращает преобразованное представление исходной коллекции. Это очень тонкая разница. Вам нужно решить, подходит ли "представление по оригинальной коллекции" для вашего контекста.