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]
相关推荐
jimy19 小时前
虚函数vtable,链接时看到构造函数,linker把符号地址写入vtable(三)
开发语言·c++
ss2739 小时前
AI全栈实战 | 3.3-02 Python 并发:有 GIL 为什么还用多线程,asyncio 和 JS 事件循环同源不同味
开发语言·javascript·python
菜鸟~noob2339 小时前
【电子战】第20篇:凸优化与对数障碍法【含matlab代码】
开发语言·matlab
Wang's Blog10 小时前
Java框架 SpringCloud 快速入门: 服务拆分案例 Demo
java·开发语言·spring cloud
小小龙学IT10 小时前
Python SQLAlchemy 2.0 深度解析:从 Core 到 ORM 的数据访问双引擎
开发语言·数据库·python
2601_9628857210 小时前
如何用 Python 计算 ROC 变动率指标做动量分析?
开发语言·python·算法
DongQiShanRen10 小时前
裁决台账双向互校(上):名册与实物的第一道对账
java·linux·运维·数据库·人工智能·自然语言处理·数据挖掘
潼心1412o10 小时前
C++初阶(长期更新)第9讲:string(上)
开发语言·c++
晚风叙码10 小时前
MySQL 数据类型详解:从数值到字符串,一篇讲透
android·mysql·adb
朝朝辞暮i11 小时前
C++ 第 39 章: 阶段性总复习——类、对象、构造、继承、this、指针与智能指针
开发语言·c++·算法·ros2