Фильтрация/удаление из вложенного списка объектов с использованием потоков в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Фильтрация/удаление из вложенного списка объектов с использованием потоков в Java

Сообщение Anonymous »

Предположим, у нас есть трехмерный список объектов:

Код: Выделить всё

class OneDObject {
int id;
List list;
OneDObject(int id, Listlist) { /* Constructor */ }
// Getters and Setters
}

class TwoDObject {
int id;
List list;
TwoDObject(int id, List list) { /* Constructor */ }
// Getters and Setters
}

var l1 = List.of(1,2,4);
var l2 = List.of(2,4,6);
var obj1d1 = new OneDObject(1, l1);
var obj1d2 = new OneDObject(2, l2);
var l3 = List.of(obj1d1, obj1d2);
var l4 = List.of(obj1d1);
var obj2d1 = new TwoDObject(3, l3);
var obj2d2 = new TwoDObject(4, l4);
var l5 = List.of(obj2d1, obj2d2);   // 3-d list
Скажем, я хочу отфильтровать «l5» так, чтобы, если какой-либо элемент во внутреннем списке имеет нечетное число, то весь список должен быть удален, и если это создает список 2-го уровня как пустое, то его следует удалить.
Итак, для данного примера, перед фильтрацией, если оно:

Код: Выделить всё

[[[1,2,4],[2,4,6]], [[1,2,4]]]
После фильтрации должно быть:

Код: Выделить всё

[[[2,4,6]]]
Как это сделать с помощью потоков в Java?


Подробнее здесь: https://stackoverflow.com/questions/720 ... ms-in-java

Вернуться в «JAVA»