Looking for java Keywords? Try Ask4Keywords

Java Language Создание карты частоты


пример

Сборщик groupingBy(classifier, downstream) позволяет собирать элементы Stream в Map , классифицируя каждый элемент в группе и выполняя нисходящую операцию над элементами, классифицированными в той же группе.

Классическим примером этого принципа является использование Map для подсчета появления элементов в Stream . В этом примере классификатор - это просто функция идентификации, которая возвращает элемент as-is. Операция downstream подсчитывает количество равных элементов, используя counting() .

Stream.of("apple", "orange", "banana", "apple")
      .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
      .entrySet()
      .forEach(System.out::println);

Операция нисходящего потока сама является сборщиком ( Collectors.counting() ), который работает с элементами типа String и производит результат типа Long . Результатом вызова метода collect является Map<String, Long> .

Это приведет к следующему результату:

банан = 1
оранжевый = 1
яблоко = 2