是否可以在不创建新流的情况下在此收集器内按值对映射进行排序? 现在打印:AAS:5 ABA:195 ABC:12 ABE:52。 期望的:ABA:195 ABE:52 ... getTrigraphStream(path)返回:TRA GRI ONC GRI ONC INS WHE INS WHE
/etc/rabbitmq/rabbitmq-env.conf
答案 0 :(得分:1)
有没有办法在此收集器内按值对地图进行排序而无需 创建一个新的流?
答案是否定的。您只能在完成分组后按分组的值进行排序。
选项:
stream()
方法
值,然后收集到地图。collectingAndThen
进行排序
然后收集地图。 即
return getTrigraphStream(path)
.collect(collectingAndThen(groupingByConcurrent(Function.identity(), counting()),
map -> map.entrySet().stream().sorted(....).collect(...)));
顺便说一句,创建新流有什么问题?这是一个廉价的操作。