Я пытаюсь преобразовать Список в Карту Карт с помощью RxJava.
Я не знаю, как сделать группировку на основе вложенного значения Town.
Я попробовал следующее, но это возвращает Observable<Map<String, GroupedObservable<String, A>>>
. Так как я могу преобразовать следующий код так, чтобы он возвращал Observable<Map<String, Map<String, Address>>
вместо этого?
public class A{
String name;
Address address;
public A(String name, Address address) {
this.name = name;
this.address = address;
}
public Address getAddress() {
return address;
}
public String getName() {
return name;
}
}
public class Address{
String city;
public Address(String city) {
this.city = city;
}
public String getCity() {
return city;
}
}
public void mapFunction(){
List<A> as = new ArrayList<>();
as.add(new A("foo", new Address("city1")));
as.add(new A("foo", new Address("city2")));
Observable<Map<String, GroupedObservable<String, A>>> map = Observable.fromCallable(() -> as)
.flatMapIterable(i -> i).
groupBy(A::getName, a -> a)
.toMap(a -> a.getKey());
}