簡體   English   中英

如何轉換清單 <List<X> &gt;列出 <X> 在RxAndroid中?

[英]How to convert List<List<X>> to List<X> in RxAndroid?

我有ID列表,並且將其映射到子列表列表,因此獲取list>,然后我需要獲取一個項目列表,但我不知道合適的運算符。

.map { it ->
      val step = 200
      var count = it.stores.size
      val subLists = ArrayList<List<Int>>()
      var i = 1
      while (count > 0) {
        val start = (i - 1) * step
//if...
        var end = i * step
        count -= step
        val items = it.items.subList(start, end)
        subLists.add(items)
        i++
      }
      subLists
    }
    .toFlowable()
    .flatMapIterable { it -> it }
    .flatMap {
     personDao.loadById(it)
    }.toList()

我需要一份物品清單,怎么辦?

您可以簡單地使用:

val oldList: List<List<T>> = listOf()
val newList = oldList.flatMap { it }

而且您不必為此使用Rx

如果您需要接收:

val flowable = Flowable.fromIterable(oldList).flatMap { 
        Flowable.fromIterable(it)
    }

然后你得到Flowable<T>

我想回答我想不好的問題,所以我的回答是使用map和map遍歷列表,並將其移至Items列表

.map {
      var items = emptyList<Item>()
      it.map {
        items += it
      }
      items
    }.toFlowable()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM