Назад к вопросам
Senior
5
Как с помощью Stream API отфильтровать чётные числа из большой коллекции, конвертировать их в объект и вернуть один любой элемент?
Компании, где спрашивали
платформа офд
Ответ от нейросети
sobes.tech AI
Для фильтрации чётных чисел, преобразования их в объекты и получения одного любого элемента из большой коллекции с помощью Stream API в Java можно использовать следующий подход:
import java.util.*;
import java.util.stream.*;
public class Example {
static class NumberObject {
int value;
NumberObject(int value) { this.value = value; }
@Override
public String toString() { return "NumberObject{" + "value=" + value + '}'; }
}
public static void main(String[] args) {
List<Integer> numbers = IntStream.rangeClosed(1, 1_000_000).boxed().collect(Collectors.toList());
Optional<NumberObject> anyEven = numbers.stream()
.filter(n -> n % 2 == 0) // фильтрация чётных
.map(NumberObject::new) // конвертация в объект
.findAny(); // получение любого элемента
anyEven.ifPresent(System.out::println);
}
}
Метод findAny() возвращает любой элемент из потока, что эффективно при работе с большими коллекциями, особенно в параллельных потоках.