Kotlin 面试题
目录

Kotlin 中集合的排序 (Sorting) 如何实现?

· 约 4 分钟读完 · 第 118 / 200 章

推荐答案

在 Kotlin 中,集合的排序可以通过多种方式实现。以下是几种常见的排序方法:

1. 使用 sorted() 和 sortedDescending()

  • sorted() 返回一个按自然顺序排序的新集合。
  • sortedDescending() 返回一个按自然顺序逆序排序的新集合。

2. 使用 sortBy() 和 sortByDescending()

  • sortBy() 根据指定的选择器函数对集合进行排序。
  • sortByDescending() 根据指定的选择器函数对集合进行逆序排序。

3. 使用 sortWith()

  • sortWith() 允许你传递一个自定义的比较器来对集合进行排序。

4. 使用 MutableList 的 sort() 和 sortDescending()

  • sort() 和 sortDescending() 是 MutableList 的扩展函数,用于原地排序。

本题详细解读

1. sorted() 和 sortedDescending()

  • sorted() 和 sortedDescending() 是 Kotlin 标准库中的扩展函数,适用于任何实现了 Comparable 接口的元素类型。
  • 这些函数返回一个新的排序后的集合,原始集合不会被修改。

2. sortBy() 和 sortByDescending()

  • sortBy() 和 sortByDescending() 允许你根据元素的某个属性进行排序。
  • 这些函数接受一个选择器函数作为参数,该函数从集合元素中提取出用于比较的值。

3. sortWith()

  • sortWith() 提供了更灵活的排序方式,允许你传递一个自定义的比较器。
  • 比较器可以通过 compareBy 或 compareByDescending 等函数创建。

4. MutableList 的 sort() 和 sortDescending()

  • sort() 和 sortDescending() 是 MutableList 的扩展函数,用于对可变列表进行原地排序。
  • 这些函数会直接修改原始列表,而不是返回一个新的列表。

通过这些方法,Kotlin 提供了灵活且强大的集合排序功能,能够满足各种排序需求。