Как в Java реализовать такой запрос c sql (SELECT count(*) FROM Man GROUP BY countOfChildren, age)

269
14 марта 2018, 06:09
mans.stream()
            .collect((Collectors.groupingBy(Man::getAmountOfChild, Collectors.groupingBy(Man::getOld)))) //как подсчитать
            .entrySet()
            .forEach(map-> System.out.println(map.getKey() + " " + map.getValue()));
Answer 1
List<Man> mans = asList(
        new Man(1, 25),
        new Man(1, 32),
        new Man(2, 40),
        new Man(2, 42),
        new Man(2, 40),
        new Man(4, 40));
Map<Integer, Map<Integer, Long>> collect = mans.stream()
        .collect(Collectors.groupingBy(Man::getAmountOfChild,
                Collectors.groupingBy(Man::getOld, Collectors.counting())));
collect.forEach((amountOfChild,v) ->
        v.forEach((old, count) ->
                System.out.println(String.format("amountOfChild = %s old = %s count = %s", amountOfChild, old, count))));

Результат:

amountOfChild = 1 old = 32 count = 1
amountOfChild = 1 old = 25 count = 1
amountOfChild = 2 old = 40 count = 2
amountOfChild = 2 old = 42 count = 1
amountOfChild = 4 old = 40 count = 1

READ ALSO
Как сделать распознавание цифр?

Как сделать распознавание цифр?

Здраствуйте! Так уж случилось что я разработчик-новичок андроид и делаю небольшой проект-приложение на смартфон, где требуется функция распознавания...

225
Проблема с записью текста в текстовый файл

Проблема с записью текста в текстовый файл

Есть такой фрагмент кода, направленный на то, что бы элемент записывался только в том случае, если такой же строки нету в текстовом файле

272