AFAIK , Этого нельзя избежать в Java ( по сравнению с тем, как это делается в Scala. )
Однако, если вы собираетесь использовать в коде большое количество преобразований кортежей в карту и хотите избежать подробного синтаксиса, вы можете создать пользовательский TupleCollector
и добавить метод toMap
.
Это может быть шкаф, в который вы попадете в скалу.
static class TupleCollector {
public static <K, V, T extends Tuple2<K, V>> Collector<T, ?, Map<K, V>> toMap() {
return Collectors.toMap(T::_1, T::_2);
}
}
Код для вызова
import static TupleCollector.toMap
...
myStream.collect(toMap());
PS:
Опять же, я не удивлюсь, если это не пройдет этап проверки кода .