Encodera

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

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

Справочник Java

Arrays.stream()

Создаёт поток (stream) из массива — для сумм, фильтров и преобразований.

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

Синтаксис

static IntStream stream(int[] array)

Параметры

ПараметрТипОписание
arrayint[], T[], …Массив. Есть вариант с диапазоном (startInclusive, endExclusive).

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

IntStream / LongStream / DoubleStream / Stream<T>Для int[] — IntStream, для массива объектов — Stream<T>.

Примеры

Сумма, среднее и максимум:

void main() {
    int[] scores = {72, 95, 88, 61};
    IO.println(Arrays.stream(scores).sum());
    IO.println(Arrays.stream(scores).average().orElse(0));
    IO.println(Arrays.stream(scores).max().getAsInt());
}

Результат:

316
79.0
95

Массив объектов — фильтр и преобразование:

void main() {
    String[] words = {"java", "is", "fun"};
    List<String> result = Arrays.stream(words)
            .filter(w -> w.length() > 2)
            .map(String::toUpperCase)
            .toList();
    IO.println(result);
}

Результат:

[JAVA, FUN]

Примечания

Поток из int[] — это IntStream со своими методами sum(), average(), max(). average() и max() возвращают OptionalDouble/OptionalInt, потому что у пустого массива их нет. Чтобы получить List<Integer>, вызовите .boxed().toList().

См. также

  • Arrays.asList() — Возвращает список фиксированного размера, который работает поверх массива.
  • Math.max() — Возвращает большее из двух чисел.
  • Arrays.toString() — Возвращает содержимое массива в виде строки [1, 2, 3].

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

В учебнике

  • Класс Arrays — Утилиты класса java.util.Arrays: toString, sort, fill, copyOf, copyOfRange, equals и binarySearch.

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

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