Stream.mapToInt()
Превращает поток объектов в поток чисел `int`.
Доступно с: Java 8
Синтаксис
IntStream mapToInt(ToIntFunction<? super T> mapper)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| mapper | ToIntFunction<? 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 и числовые потоки.