我有一个对象列表,我想将其转换为具有2个键的地图列表。
代码示例
from django.db.models import Max
Event.objects.annotate(max_date=Max('order__event__date')) \
.filter(date=F('max_date'))
因此每个对象(书)都必须转换为一个包含2个键的Map。
我的问题是如何使用RxJava
答案 0 :(得分:0)
所以你想要订阅一个用fromIterable
方便法创建的Observable,它接收你的书籍列表,之后它将逐个发出项目,然后每个项目转换成一个Map,最后将它们分组在使用toList
运算符的列表中。
Observable.fromIterable(books)
.map(new Function<Book, Map<String, Object>>() {
@Override
public Map<String, Object> apply(Book book) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", book.id);
map.put("quantity", book.quantity);
return map;
}
})
.toList()
.subscribe(new Consumer<List<Map<String, Object>>>() {
@Override
public void accept(List<Map<String, Object>> mapsList) throws Exception {
System.out.println(mapsList);
}
});