Android 在RxJava/kotlin中是否有一种按关键字排序的方法?

Android 在RxJava/kotlin中是否有一种按关键字排序的方法?,android,kotlin,rx-java,reactive-programming,Android,Kotlin,Rx Java,Reactive Programming,下面是一个例子: Observable.fromIterable(listOf("4444", "22", "333", "1", "55555")) .groupBy { it.hashCode() } .subscribe { group -> group.toList().subscribe { list -> println("${group.key} $list") } } 输出: 1600 [22] 49 [1] 50643 [3

下面是一个例子:

Observable.fromIterable(listOf("4444", "22", "333", "1", "55555"))
    .groupBy { it.hashCode() }
    .subscribe { group ->
        group.toList().subscribe { list -> println("${group.key} $list") }
    }
输出:

1600 [22]
49 [1]
50643 [333]
50578165 [55555]
1600768 [4444]

如何按升序/降序或使用自定义排序比较器对键进行排序?

解决方案之一是使用自定义排序比较器的
排序功能:

Observable.fromIterable(listOf("4444", "22", "333", "1", "55555"))
        .groupBy { it.hashCode() }
        .sorted { o1, o2 ->
            o1.key?.minus(o2.key ?: 0) ?: 0
        }
        .subscribe { group ->
            group.toList().subscribe { list -> println("${group.key} $list") }
        }
输出:

49 [1]
1600 [22]
50643 [333]
1600768 [4444]
50578165 [55555]