【发布时间】:2021-09-08 05:22:01
【问题描述】:
你能告诉我如何在这个方法中实现漂亮的逻辑吗?
protected Map<QueueType, QueueContext> getQueueContexts() {
List<QueueContext> queueContexts = QueueContext.parseConfigs(Config.KAFKA_QUEUES.get());
return queueContexts.stream()
.collect(Collectors.toMap(QueueContext::getQueueType, Function.identity()));
}
需要检查List queueContexts中是否有QueueType.unknown,如果有,则写入日志,如果没有,则添加到Map中。
我只是做了这样的检查,但事实证明我正在正确收集地图,但是所有的日志都写了,我只需要写那些未知的
return queueContexts.stream().filter(type -> type.getQueueType() != QueueType.unknown)
.peek(ls -> LOGGER.info(ls))
.collect(Collectors.toMap(QueueContext::getQueueType, Function.identity()));
【问题讨论】:
标签: java java-8 java-stream