我正在使用Java流根据特定条件将值“ true”和“ false”分开,但它们都是被计为“ false”的值 我有以下代码:
Map<String ,Map<Boolean,Long>> grouped= joinFirst.stream()
.collect(Collectors.groupingBy(t->t.get1().getLShipmode(),
partitioningBy(t-> t.get0().getOOrderpriority().equals("1-URGENT") , counting())));
grouped.forEach((p, n) -> n.forEach((k, v) -> System.out.format("%s %s %d \n", p, k, v)));
结果是这样的:
邮件为假13209
邮件为真0
船舶假13224
SHIP true 0
但是应该是:
邮件为假0
邮件为真5376
船舶假0
SHIP true 5346
答案 0 :(得分:2)
您可以将模式重复为:
grouped.forEach((p, n) -> n.forEach((k, v) -> System.out.format("%s %s %d", p, k, v)));