Просмотр https://github.com/google/guava/wiki/FunctionalExplained Я вижу операции типа transform, который преобразует список, но сохранит ту же мощность. Как я могу выполнить преобразование, которое приводит к другой мощности? например (псевдокод) List(1,2,3).transform(i => List(i, i)) → List(1,1,2,2,3,3)
Что такое эквивалент Guava Scala flatMap?
Ответ 1
Начиная с версии 13, transformAndConcat на FluentIterable.
Ответ 2
Я не думаю, что там есть прямой перевод, но transform, а затем concat должен быть эквивалентным.
Ответ 3
В Eclipse Collections, collect() является эквивалентом Scala map() и flatCollect() является эквивалентом Scala flatMap().
Вот пример использования flatCollect с Java 8 Lambdas.
Примечание. Я являюсь коммиттером для коллекций Eclipse.
Ответ 4
Обратите внимание на одно: Scala методы карты возвращают новые коллекции, а метод transform() в Guava возвращает преобразованное представление исходной коллекции. Это очень тонкая разница. Вам нужно решить, подходит ли "представление по оригинальной коллекции" для вашего контекста.