Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 科特林流排序_Kotlin_Kotlin Coroutines_Kotlin Flow_Kotlin Coroutines Flow - Fatal编程技术网

Kotlin 科特林流排序

Kotlin 科特林流排序,kotlin,kotlin-coroutines,kotlin-flow,kotlin-coroutines-flow,Kotlin,Kotlin Coroutines,Kotlin Flow,Kotlin Coroutines Flow,是否有一种方法可以按自定义顺序对流发出的集合进行排序,如: fun getList():Flow<Something> fun main(){ launch{ getList().filter{}.map{}.sortBy{ // }.toList() } } 你可以先登记,然后再登记。对流进行排序并不总是有意义的,因为根据定义,流不知道流中是否还有其他元素。您可以先列出,然后再排序。对流进行排序并不总是有意

是否有一种方法可以按自定义顺序对流发出的集合进行排序,如:

fun getList():Flow<Something>

fun main(){
   launch{
       getList().filter{}.map{}.sortBy{
                //
       }.toList()
   }
}

你可以先登记,然后再登记。对流进行排序并不总是有意义的,因为根据定义,流不知道流中是否还有其他元素。

您可以先列出,然后再排序。对流进行排序并不总是有意义的,因为根据定义,流不知道流中是否还有其他元素。

您可以应用以下操作:

getList().transform {
    //it - list
    // sortedList - some function to perform sorting or something else
    emit(sortedList(it))
}
UPD:您可以使用类似于transform的Map,但更简单的是,filterit仅用于发出流函数的特定值,并用于执行某些操作。转换功能允许您执行更具体的操作。在这种情况下,它们是相同的

getList().map {
    sortedList(it)
}

您可以应用以下操作:

getList().transform {
    //it - list
    // sortedList - some function to perform sorting or something else
    emit(sortedList(it))
}
UPD:您可以使用类似于transform的Map,但更简单的是,filterit仅用于发出流函数的特定值,并用于执行某些操作。转换功能允许您执行更具体的操作。在这种情况下,它们是相同的

getList().map {
    sortedList(it)
}

此外,在收到所有项目之前,您不能发射任何东西。排序是一个完整的数据集操作,不能作为无界流上的运算符工作。此外,在收到所有项之前,不能发出任何内容。排序是一个完整的数据集操作,不能作为无界流上的运算符工作。