Как и любой список, на самом деле.
realm.executeTransaction(new Realm.Transaction() {
B b = realm.where(B.class).equalTo(BFields.ID, bId).findFirst();
Iterator<A> iterator = b.getRealmList().iterator();
while(iterator.hasNext()) {
A a = iterator.next();
if(a.getId().equals(idToDelete)) {
iterator.remove(); // removes from realm list, but not from Realm
break;
}
}
});
Но я думаю, что если вы переопределяете hashCode()
и equals()
работаете на основе первичного ключа, то это также должно работать надежно remove(Object object)
.