Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Collectors.counting()

Сборщик-счётчик; обычно используется внутри `groupingBy()`.

Доступно с: Java 8

Синтаксис

static <T> Collector<T, ?, Long> counting()

Возвращаемое значение

Collector<T, ?, Long>Сборщик, который считает элементы.

Примеры

Частота каждого слова:

void main() {
    Map<String, Long> freq = Stream.of("yes", "no", "yes", "maybe", "yes", "no")
        .collect(Collectors.groupingBy(w -> w, TreeMap::new, Collectors.counting()));
    IO.println(freq);
}

Результат:

{maybe=1, no=2, yes=3}

Примечания

Результат имеет тип Long, поэтому словарь получается Map<String, Long>. Сам по себе вместо collect(counting()) проще вызвать count().

См. также

  • Collectors.groupingBy() — Сборщик, который раскладывает элементы по группам с общим ключом.
  • Stream.count() — Считает элементы потока.
  • Collections.frequency() — Считает, сколько раз элемент встречается в коллекции.

Вопросы и ответы по теме

В учебнике

  • Группировка — Группировка элементов потока в Java — Collectors.groupingBy, подсчёт и суммы по группам, mapping, TreeMap и partitioningBy.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.