sorting - 如何在模板中使用 sortBy
问题描述
例如,我有一个 BigClass,其中包含一个 String(别名)对象,因此我可以使用 bigClass.alias 获取它,并且我有一个 String 数组将它们保持在所需的顺序例如
val theList: MutableList<BigClass> = listOf(
BigClass(SomeObject("good",anotherObject,context, etc)
BigClass(SomeObject("bad",anotherObject,context2, etc2)
BigClass(SomeObject("okay",anotherObject3,context3, etc3)
)
和字符串数组:
val strList: MutableList<String> = mutableListOf("bad", "okay", "good")
如何根据strList字符串顺序对列表进行排序?谢谢
解决方案
这是一种按有序列表排序的有效方法
val strList = listOf("bad", "okay", "good")
val order = strList.withIndex().associate { it.value to it.index }
val sorted = theList.sortedBy { order[it.someObject.alias] }
推荐阅读
- c++ - C++ if 语句中的变量赋值
- c++ - 是我的向量的语法
错误的? - c++ - 返回不同派生类型对象/引用而不是指针的函数
- javascript - 状态属性正在更新,但浏览器没有
- swift - 如何使用 Swift 为评论中的字符加下划线
- r - 如何根据截止值对直方图的一部分与另一部分不同的颜色?
- sql - 如何在proc SQL的case语句中选择一系列列?
- python - YOLOv3 和 OpenCV dnn - 函数“getMemoryShapes”中 ConcatLayer 的形状不一致
- reactjs - 在反应本机ios应用程序中无法识别fontFamily
- three.js - Threejs如何在自定义形状中添加和输出曲线?