return repository.loadItems(id)
.take(1)
.flatMapIterable { item -> item }
.map { item -> item.clientId}
.toList()
.toFlowable()
.distinct();
fun loadItems(id: Int): Flowable<List<Item>> {
return dao.loadItems(id)
}
我将 List 映射到 List 并希望过滤并仅保存唯一的,而 distinct() 不起作用它带来与初始列表一样多的项目
最佳答案
distinct
过滤掉通过它的重复项。由于您将它应用在错误的位置,它只接收一个 List
对象,该对象本身是不同的。
在 toList
之前应用 distinct
以在展开的 List
聚合到新的 List
之前对其进行过滤>.
return repository.loadItems(id)
.take(1)
.flatMapIterable { item -> item }
.map { item -> item.clientId}
.distinct() // <------------------------------------------------------
.toList()
.toFlowable()
关于android - 为什么 distinct() 不返回唯一的整数项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46891639/