Как объединить css selector java

Подскажите пожалуйста, у меня есть, например,

@FindBy(css = ".mer_name")
public List<WebElement> listMer; // название

@FindBy(css = ".mer_time")
public List<WebElement> listMerDate; // дата мероприятия

Как все впихнуть в один ArrayList или List<Webelement>?

P.S. оба селектора находятся на 1 странице и относятся к одному мероприятию


Ответы (1 шт):

Автор решения: Nowhere Man

Объединить два списка при помощи Java Stream API можно при помощи Stream::concat:

List<WebElement> result = Stream.concat(
        listMer.stream(), listMerDate.stream()
    ) // Stream<WebElement>
    .collect(Collectors.toList()); // или toList() для Java 16+

Аналогично можно использовать Stream.of + Stream.flatMap, особенно если нужно объединить более двух списков:

List<WebElement> result = Stream.of(
        listMer, listMerDate
    ) // Stream<List<WebElement>>
    .flatMap(List::stream) // Stream<WebElement>
    .collect(Collectors.toList());
→ Ссылка