Ich habe zwei Listen: List<Foo>
und List<Bar>
. Für jedes Element von List<Foo>
muss ich alle Elemente von List<Bar>
überprüfen und einen Wert festlegen, wenn es übereinstimmt. Heute verwende ich diesen Code:Ersetzen Sie doppelt für jedes durch beobachtbare
fooList.forEach { foo ->
barList.forEach { bar ->
if(foo.id == bar.id) {
bar.name = foo.name
}
}
}
return barList
ich möchte es ändern, denn jetzt habe ich eine Observable<Foo>
und eine Observable<Bar>
. Wie kann ich meinen Code ersetzen, um die reaktive Programmierung zu verwenden?
Es funktioniert nicht, weil in einigen Fällen die beobachtbaren leer sind, und die beobachtbaren sind nicht . Wenn es passiert, wird alles emitiert –
pablobaldez
Wenn Balken leer ist, wie erwarten Sie, dass es mit einem nicht leeren foo übereinstimmt? – akarnokd
Wenn es leer ist, werden alle foo's der ältere Name sein, aber sie müssen ausgegeben werden – pablobaldez