Kotlin 面向对象 - 枚举排序

Kotlin 枚举排序

  1. 基本排序
kotlin 复制代码
enum class Priority {
    LOW,
    MEDIUM,
    HIGH,
    URGENT
}
kotlin 复制代码
val priorities = listOf(Priority.HIGH, Priority.LOW, Priority.URGENT, Priority.MEDIUM)

println("排序前:" + priorities)

val sortedPriorities = priorities.sorted()

println("排序后:" + sortedPriorities)
复制代码
# 输出结果

排序前:[HIGH, LOW, URGENT, MEDIUM]
排序后:[LOW, MEDIUM, HIGH, URGENT]
  1. 自定义排序
kotlin 复制代码
enum class Status(val code: Int, val description: String) {
    PENDING(1, "待处理"),
    APPROVED(3, "已批准"),
    REJECTED(2, "已拒绝")
}
kotlin 复制代码
val sortedByCode = Status.values().sortedBy { it.code }

println(sortedByCode)
复制代码
# 输出结果

[PENDING, REJECTED, APPROVED]
相关推荐
程序喵大人1 小时前
【C++进阶】STL容器与迭代器 - 10 把容器、迭代器和数据流串成一个小程序
开发语言·c++·容器·小程序·迭代器·stl
Sam_Deep_Thinking2 小时前
用Java 17从0到1写一个mini版RPC,理解远程调用的本质
java·面试·rpc·程序员·系统架构
luj_17682 小时前
随机性在算法与占卜中的共通原理
c语言·开发语言·c++·经验分享·算法
Lazionr2 小时前
vector初识——从动态数组到STL核心容器
开发语言·c++
AI视觉网奇2 小时前
glb读取颜色
开发语言·python
敲代码的嘎仔2 小时前
从零搭建微服务:Spring Cloud Alibaba 全家桶踩坑实录(Nacos + OpenFeign + Gateway + Sentinel)
java·spring boot·spring·spring cloud·微服务·gateway·sentinel
一条泥憨鱼3 小时前
苍穹外卖【day7| 对购物车进行操作】
java·后端·mysql·苍穹外卖
程序员-Benothing3 小时前
如何实现高并发系统订单30分钟自动关闭?
开发语言·c#·wpf
郝学胜-神的一滴4 小时前
Python 高级编程 026:内置数据结构之骈文纵论
开发语言·数据结构·python·程序人生·软件工程