Senior
Hoe filter je even getallen uit een grote collectie met behulp van de Stream API, zet je ze om in een object en geef je een willekeurig element terug?
sobes.tech AI
Antwoord van 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() возвращает любой элемент из потока, что эффективно при работе с большими коллекциями, особенно в параллельных потоках.