Senior
Comment filtrer les nombres pairs d'une grande collection en utilisant l'API Stream, les convertir en objet et retourner un élément quelconque?
sobes.tech IA
Réponse de l'IA
Для фильтрации чётных чисел, преобразования их в объекты и получения одного любого элемента из большой коллекции с помощью 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() возвращает любой элемент из потока, что эффективно при работе с большими коллекциями, особенно в параллельных потоках.