【发布时间】:2014-07-16 18:17:00
【问题描述】:
我想做类似以下的事情,但我想知道是否有更优雅的方法可以在没有 Pair 类的情况下做到这一点。 Pair 类不再存在,所以我必须创建自己的类,这很好,但我只是好奇是否有办法避免它。
ordersByMerchant.entrySet().stream()
.flatMap(merchantOrders -> {
Merchant merchant = merchantOrders.getKey();
Set<Order> orders = merchantOrders.getValue();
return orders.stream()
.map(order -> new Pair(order, merchant));
}
).collect(toImmutableMap(
Pair::getKey,
Pair::getValue
));
【问题讨论】:
-
您可以填充 Guava Multiset,然后在其上调用 Multisets.invertFrom()。
标签: java functional-programming java-8 java-stream