- Как найти среднее значение в массиве java
- Найдите сумму и среднее значение в массиве Java
- 2. Найдите сумму элементов массива
- 2.1. Сумма с использованием цикла for
- 2.2. Сумма с Java Stream API
- 3. Найдите среднее значение в массиве Java
- 3.1. В среднем без Stream API
- 3.2. Среднее с использованием Java Stream API
- 4. Вывод
- Как найти среднее арифметическое в массиве java
- Нахождение суммы и среднего значения в массиве Java
- Как найти среднее арифметическое java
Как найти среднее значение в массиве java
Чтобы найти среднее значение в массиве целых чисел в Java, можно использовать стримы. Преобразуем массив чисел в IntStream и найдем среднее значение:
import java.util.Arrays; int[] numbers = 1, 2, 3, 4, 5>; double average = Arrays.stream(numbers).average().getAsDouble(); System.out.println(average); // 3.0
Найдите сумму и среднее значение в массиве Java
В этом кратком руководстве мы расскажем, как вычислить сумму и среднее значение в массиве, используя как стандартные циклы Java, так и Stream API.
2. Найдите сумму элементов массива
2.1. Сумма с использованием цикла for
Чтобы найти сумму всех элементов в массиве, мы можем просто выполнить итерацию массива и добавить каждый элемент в переменную , накапливающую сумму . «
Это очень просто начинается с суммы 0 и добавляет каждый элемент в массив по мере продвижения:
public static int findSumWithoutUsingStream(int[] array) int sum = 0; for (int value : array) sum += value; > return sum; >
2.2. Сумма с Java Stream API
Мы можем использовать Stream API для достижения того же результата:
public static int findSumUsingStream(int[] array) return Arrays.stream(array).sum(); >
Важно знать, что метод sum() поддерживает только потоки примитивного типа .
Если мы хотим использовать поток для упакованного целочисленного значения, мы должны сначала преобразовать поток в IntStream с помощью метода mapToInt .
После этого мы можем применить метод sum() к нашему только что преобразованному IntStream :
public static int findSumUsingStream(Integer[] array) return Arrays.stream(array) .mapToInt(Integer::intValue) .sum(); >
Вы можете прочитать намного больше о Stream API здесь .
3. Найдите среднее значение в массиве Java
3.1. В среднем без Stream API
Как только мы узнаем, как вычислить сумму элементов массива, найти среднее значение довольно легко — так как Среднее = сумма элементов / количество элементов :
public static double findAverageWithoutUsingStream(int[] array) int sum = findSumWithoutUsingStream(array); return (double) sum / array.length; >
- Деление int на другое int возвращает результат int . Чтобы получить точное среднее значение, мы сначала приводим сумму к удвоению .
- Массив Java имеет поле длины , в котором хранится количество элементов в массиве.
3.2. Среднее с использованием Java Stream API
public static double findAverageUsingStream(int[] array) return Arrays.stream(array).average().orElse(Double.NaN); >
IntStream.average() возвращает OptionalDouble , который может не содержать значения и требует специальной обработки.
Подробнее о Optionals читайте в этой статье, а о классеOptionalDouble — в документации по Java 8 .
4. Вывод
В этой статье мы рассмотрели, как найти сумму/среднее значение элементов массива int .
Как найти среднее арифметическое в массиве java
Найти среднее арифметическое всех чисел в массиве можно разными способами. Можно перебрать весь массив при помощи цикла, сложить все элементы массива и поделить на размер массива. Можно также использовать стримы, этот вариант будет более лаконичный. Рассмотрим пример со стримами:
import java.util.Arrays; int[] coll = 1, 2, 3, 4, 5, 6>; var average = Arrays.stream(coll) .average() .getAsDouble(); System.out.println(average); // => 3.5
Нахождение суммы и среднего значения в массиве Java
В этом кратком руководстве мы рассмотрим, как вычислить сумму и среднее значение в массиве Java, используя стандартные циклы.
Чтобы найти сумму всех элементов в массиве, мы можем просто перебрать массив и добавить каждый элемент к суммирующей переменной.
public static int findSumWithoutUsingStream(int[] array) < int sum = 0; for (int value : array) < sum += value; >return sum; >
или вычисляем сумму используя индексы:
int array[] = ; int sum = 0; for (int i = 0; i < array.length; ++i) sum += array[i];
Можно использовать Stream API для достижения того же результата:
public static int findSumUsingStream(int[] array)
Важно знать, что метод sum() поддерживает примитивные типы.
Если мы хотим использовать целочисленные значения, сначала нужно преобразовать поток в IntStream, используя mapToInt метод. После этого применить метод sum() к нашему недавно преобразованному IntStream:
public static int findSumUsingStream(Integer[] array)
Найти среднее значение элементов массива Java довольно легко. Напомним, что среднее = сумма чисел/количество чисел.
public static double findAverageWithoutUsingStream(int[] array) < int sum = findSumWithoutUsingStream(array); return (double) sum / array.length; >
Примечание: деление int на int возвращает результат int. Джава массив имеет поле length, в котором хранится количество элементов.
Если подсчитывать через Java Stream API, то код умещается в одну строчку:
public static double findAverageUsingStream(int[] array)
IntStream.average () возвращает OptionalDouble, который может не содержать значения и требует специальной обработки.
Чтобы узнать больше об OptionalDouble class, читайте документацию по Java 8.
Исходный код можно скачать тут.
Средняя оценка 2.6 / 5. Количество голосов: 5
Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.
Видим, что вы не нашли ответ на свой вопрос.
Напишите комментарий, что можно добавить к статье, какой информации не хватает.
Как найти среднее арифметическое java
Средним арифметическим множества чисел называют сумму всех этих чисел, разделенных на общее количество слагаемых. В Java найти среднее арифметическое можно при помощи цикла или используя стримы. Рассмотрим пример с циклом:
class App public static double average(int[] numbers) var length = numbers.length; var sum = 0; // Находим сумму всех чисел for (double num : numbers) sum += num; > // И делим её на количество слагаемых return sum / length; > >
App.average(new int[] 1, 2, 3>); // 2.0
Также можно использовать стримы. Рассмотрим вариант на стримах
import java.util.Arrays; class App public static double average(int[] numbers) Arrays.stream(numbers).average().getAsDouble(); > >
App.average(new int[] 1, 2, 3>); // 2.0