РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
474 of 1163 menu

Метод mapToInt

Метод mapToInt преобразует каждый элемент потока в значение типа int и возвращает поток примитивов IntStream. В первый параметр мы передаем функцию-преобразователь, которая принимает элемент потока и возвращает целое число. Метод является промежуточной операцией и не запускает обработку потока до вызова терминальной операции.

Метод особенно полезен, когда нужно извлечь числовое поле из объектов или преобразовать строки в числа, а затем выполнить числовые операции, такие как sum, average, min или max.

Синтаксис

IntStream mapToInt(ToIntFunction<? super T> mapper)

Пример

Давайте преобразуем строки в числа и найдем их сумму:

import java.util.List; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { List<String> list = List.of("1", "2", "3", "4", "5"); IntStream res = list.stream() .mapToInt(Integer::parseInt); System.out.println(res.sum()); } }

Результат выполнения кода:

15

Пример

Давайте извлечем числовое поле из объектов и получим среднее значение:

import java.util.List; public class Main { static class Item { String name; int price; Item(String name, int price) { this.name = name; this.price = price; } } public static void main(String[] args) { List<Item> list = List.of( new Item("a", 10), new Item("b", 20), new Item("c", 30) ); double res = list.stream() .mapToInt(item -> item.price) .average() .getAsDouble(); System.out.println(res); } }

Результат выполнения кода:

20.0

Пример

Давайте преобразуем элементы потока в числа и соберем их в массив:

import java.util.List; import java.util.Arrays; public class Main { public static void main(String[] args) { List<String> list = List.of("1", "2", "3", "4", "5"); int[] res = list.stream() .mapToInt(Integer::parseInt) .toArray(); System.out.println(Arrays.toString(res)); } }

Результат выполнения кода:

[1, 2, 3, 4, 5]

Смотрите также

  • класс Stream,
    который представляет поток объектов
  • класс IntStream,
    который представляет поток примитивов int
  • метод map,
    который преобразует элементы потока
  • метод sum,
    который возвращает сумму элементов потока
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить