Как различить истину и ложь с помощью разделения? - PullRequest
0 голосов
/ 12 июня 2019

Я использую потоки Java для разделения значений «истина» и «ложь» в соответствии с определенным условием, но все они являются значениями, считающимися «ложными» У меня есть этот код:

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)));

И результат такой:

MAIL false 13209
ПОЧТА правда 0
КОРАБЛЬ ложный 13224
КОРАБЛЬ истинный 0

Но это должно быть:

MAIL false 0
ПОЧТА правда 5376
КОРАБЛЬ ложный 0
КОРАБЛЬ правда 5346

1 Ответ

2 голосов
/ 12 июня 2019

Вы можете повторить шаблон как:

grouped.forEach((p, n) -> n.forEach((k, v) -> System.out.format("%s %s %d", p, k, v)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...