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]