Algorithm Kotlin-按类别和子类别列出的订单列表

Algorithm Kotlin-按类别和子类别列出的订单列表,algorithm,list,kotlin,Algorithm,List,Kotlin,我有一个字符串属性为“Category”的对象列表,另一个字符串属性为“Subcategory” 我想按类别对列表进行排序,在每个类别中按子类别对列表进行排序 例如,我有一个如下列表: 对象1(“类别1”、“子类别1”) 对象2(“类别2”、“子类别”) 对象3(“类别1”、“子类别1”) 对象4(“类别1”、“子类别2”) 对象5(“类别2”、“子类别B”) 我想要一个如下的列表顺序:{Object1,Object3,Object4,Object2,Object5} 在Kotlin有没有一个简

我有一个字符串属性为“Category”的对象列表,另一个字符串属性为“Subcategory”

我想按类别对列表进行排序,在每个类别中按子类别对列表进行排序

例如,我有一个如下列表:

对象1(“类别1”、“子类别1”)

对象2(“类别2”、“子类别”)

对象3(“类别1”、“子类别1”)

对象4(“类别1”、“子类别2”)

对象5(“类别2”、“子类别B”)

我想要一个如下的列表顺序:{Object1,Object3,Object4,Object2,Object5}

在Kotlin有没有一个简单的方法可以做到这一点


谢谢

您可以使用以下代码执行此操作:

yourList.sortedWith(compareBy({ it.Category }, { it.Subcategory }))

您可以使用以下代码执行此操作:

yourList.sortedWith(compareBy({ it.Category }, { it.Subcategory }))

对象列表-对象类型列表

类别对该
对象列表进行排序,然后按子类别进行排序

objectList.sortedWith(compareBy<ObjectType>{ it.Category }.thenBy{ it.Subcategory })
objectList.sortedWith(通过{it.Category}进行比较,然后通过{it.Subcategory}进行比较)

对象列表-对象类型列表

类别对该
对象列表进行排序,然后按子类别进行排序

objectList.sortedWith(compareBy<ObjectType>{ it.Category }.thenBy{ it.Subcategory })
objectList.sortedWith(通过{it.Category}进行比较,然后通过{it.Subcategory}进行比较)

谢谢,这正是我想要的:)谢谢,这正是我想要的:)