Моя структура
A {
String id;
String bid;
}
B {
String id;
}
Дано
List<A> aList = Arrays.asList(
new A (1,2),
new A (2,5),
new A (3,9),
new A (4,10),
new A (5, 20),
new A (6, 8),
new A (7, 90)
new A (8, 1)
);
List<B> bList = Arrays.asList(
new B (2),
new B (9),
new B (10)
);
Теперь я хочу, чтобы элементы A, которые не совпадают ни с одним элементом B, были собраны в другой коллекции, и эти элементы должны быть удалены из самой коллекции A.
Результат
List<A> aList = Arrays.asList(
new A (1,2),
new A (3,9),
new A (4,10)
);
List<A> aListBin = Arrays.asList(
new A (2,5),
new A (5, 20),
new A (6, 8),
new A (7, 90)
new A (8, 1)
);
МОЙ дубль
Я могу подумать об итерации A с использованием итератора, и для каждого элемента в A итерации по B, а если найдены, продолжайте добавлять в отдельный список и удалять с помощью итератора remove.
Есть ли лучший способ сделать это с помощью потоковой магии? Спасибо