Java 8 | Коллекторы averagingInt () с примерами
Метод Collectors averagingInt (ToIntFunction <? Super T> mapper) используется для нахождения среднего значения целых чисел, переданных в параметрах. Этот метод возвращает Collector, который производит среднее арифметическое целочисленной функции, применяемой к входным элементам. Если в качестве входных элементов не переданы никакие элементы, этот метод возвращает 0.
Формула, используемая этим методом для вычисления среднего арифметического:

Синтаксис:
общедоступная статика <T> Коллекционер <T,?, Double> averagingInt (преобразователь ToIntFunction <? super T>)
куда,
- Сборщик интерфейса < T, A, R > : изменяемая операция сокращения, которая накапливает входные элементы в изменяемый контейнер результата, при необходимости преобразуя накопленный результат в окончательное представление после того, как все входные элементы были обработаны. Операции восстановления могут выполняться как последовательно, так и параллельно.
- T: Тип входных элементов операции сокращения.
- A: Изменяемый тип накопления операции сокращения.
- R: Тип результата операции сокращения.
- Double: класс Double заключает в объект значение примитивного типа double. Объект типа Double содержит одно поле с типом double.
- ToIntFunction: представляет функцию, которая возвращает результат с целым числом значений.
Параметры: этот метод принимает обязательный модуль сопоставления параметров типа ToIntFunction . Это функция, которая извлекает значение типа int из потока.
Ниже приведены примеры, иллюстрирующие метод averagingInt ():
Program 1:
// Java code to show the implementation of // Collectors averagingInt(ToIntFunction mapper) function import java.util.stream.Collectors; import java.util.stream.Stream; class GFG { // Driver code public static void main(String[] args) { // creating a string stream with numbers Stream<String> s = Stream.of( "3" , "4" , "5" ); // using Collectors averagingInt(ToIntFunction mapper) // method to find arithmetic mean of inputs given double ans = s .collect(Collectors .averagingInt( num -> Integer.parseInt(num))); // displaying the result System.out.println(ans); } } |
4.0
Program 2: When no input element is passed as the parameter to averagingInt() method.
// Java code to show the implementation of // Collectors averagingInt(ToIntFunction mapper) function import java.util.stream.Collectors; import java.util.stream.Stream; class GFG { // Driver code public static void main(String[] args) { // creating a empty string stream Stream<String> s = Stream.of(); // using Collectors averagingInt(ToIntFunction mapper) // method to find arithmetic mean of inputs given double ans = s .collect(Collectors .averagingInt( num -> Integer.parseInt(num))); // displaying the result System.out.println(ans); } } |
0.0
Program 3:
// Java code to show the implementation of // Collectors averagingInt(ToIntFunction mapper) function import java.util.stream.Collectors; import java.util.stream.Stream; class GFG { // Driver code public static void main(String[] args) { // creating a string stream Stream<String> s = Stream.of( "7" , "8" , "9" , "10" ); // using Collectors averagingInt(ToIntFunction mapper) // method to find arithmetic mean of inputs given double ans = s .collect(Collectors .averagingInt( num -> Integer.parseInt(num))); // displaying the result System.out.println(ans); } } |
8.5
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .