Encodera

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

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

Справочник Java

Stream.mapToInt()

Превращает поток объектов в поток чисел `int`.

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

Синтаксис

IntStream mapToInt(ToIntFunction<? super T> mapper)

Параметры

ПараметрТипОписание
mapperToIntFunction<? super T>Функция, которая превращает элемент в `int`.

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

IntStreamПоток примитивных чисел.

Примеры

Общая длина строк:

void main() {
    int total = Stream.of("one", "three", "five").mapToInt(String::length).sum();
    IO.println(total);
}

Результат:

12

Средняя цена через mapToDouble():

record Product(String name, double price) {}
 
void main() {
    var products = List.of(new Product("a", 10.0), new Product("b", 25.0));
    IO.println(products.stream().mapToDouble(Product::price).average().orElse(0));
}

Результат:

17.5

Примечания

Нужен, чтобы получить доступ к sum(), average(), max() без компаратора и без лишней упаковки чисел в Integer. Аналоги: mapToLong(), mapToDouble(). Обратный переход — boxed() или mapToObj().

См. также

  • IntStream.sum() — Складывает все числа потока.
  • IntStream.average() — Вычисляет среднее арифметическое чисел потока.
  • Stream.map() — Преобразует каждый элемент потока.

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

В учебнике

  • Операции над потоками — Основные операции Stream API — filter, map, sorted, distinct, limit, skip, count, reduce, anyMatch, findFirst и числовые потоки.

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

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