Я хотел бы знать, возможно ли расширить встроенный Java потоковый сборщик из класса java.util.stream.Collectors
, в отличие от создания собственного сборщика с нуля, и, следовательно, дублирования кода, уже реализованного в этом класс.
Например: допустим, у меня есть Stream<Map.Entry<String, Long>> mapEntryStream
, и я хочу собрать это на карту типа Map<String, Long>
.
Конечно, я мог бы сделать:
mapEntryStream.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
Но, скажем, я хотел бы, чтобы ключи и записи выводились следующим образом:
//Not a real Java Collectors method
mapEntryStream.collect(Collectors.toMap());
Итак, как мне сделать коллектор, подобный приведенному выше, который не принимает аргументов, но вызывает Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)
?
Обратите внимание: это не вопрос о том, должен ли такой сборщик быть выполнен - только если он может быть сделано.