sorting - Kotlin 的sortedBy 是否保持相等值的顺序?

标签 sorting kotlin

假设我有一个以任意顺序定义的值列表。

val list = listOf("a", "aa", "b", "bb")

如果我使用值的某些 Comparable 属性使用 sortedBy 对此列表进行排序。

val sorted = list.sortedBy { it.length }

对于比较相等的值,是否会保留原始任意顺序?

["a", "b", "aa", "bb"] // good
["b", "a", "aa", "bb"] // bad
["a", "b", "bb", "aa"] // bad
["b", "a", "bb", "aa"] // bad

最佳答案

是的,per the official docs :

The sort is stable. It means that equal elements preserve their order relative to each other after sorting.

关于sorting - Kotlin 的sortedBy 是否保持相等值的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61646062/

相关文章:

algorithm - 插入排序与冒泡排序算法

java - 按多个条件对 JTable 进行排序

spring - 为什么 Spring Boot 2.7.x 不使用 kotlin 1.7 或 1.8

c++ - 如何使用 qsort 对结构(由几个不同的元素组成)进行排序?

javascript - JQuery - 如何将 class() 添加到与属性值匹配的元素

c - 泛型和按大小而不是按类型进行转换

java - 在 Java 中调用 Kotlin 函数

intellij-idea - IntelliJ 删除后无法识别 kotlin 文件并使用相同名称重新创建

android - 用于切换方法的 RxJava Operator

java - Kotlin - kotlin 列表过滤器是否会创建一个新的列表对象?