Для того, чтобы найти минимальное число в наборе с помощью Stream API в Java, можно использовать метод min():
int[] numbers = {5, 8, 3, 12, 9};
int min = Arrays.stream(numbers).min().getAsInt();
System.out.println(min);
В этом примере мы создаем массив numbers, затем используем метод Arrays.stream() для создания потока чисел из массива. Метод min() возвращает минимальное значение в потоке, а метод getAsInt() преобразует результат в примитивный тип int. Метод println() выводит результат на экран.
Если элементы в потоке являются объектами, а не примитивами, то можно также использовать метод Comparator.comparing() для указания функции сравнения, по которой будет определяться порядок. Например:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave");
String shortestName = names.stream()
.min(Comparator.comparing(String::length))
.orElse("");
System.out.println(shortestName);
В этом примере мы создаем список names, затем используем метод stream() для создания потока строк из списка. Метод min() принимает функцию сравнения, которая сравнивает длину строк, а метод orElse() возвращает пустую строку в случае, если поток пустой. Метод println() выводит результат на экран.
Можно использовать также метод .reduce() чтобы получить минимальное значение в потоке. Например:
int[] numbers = {5, 8, 3, 12, 9};
int min = Arrays.stream(numbers).reduce(Integer.MAX_VALUE, (a, b) -> Integer.min(a, b));
System.out.println(min);
В этом примере мы используем метод reduce() для свертки потока в единое значение. Метод Integer.min() используется для сравнения двух чисел и возврата минимального из них.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov