如何通过两个属性和排序规则对对象列表进行排序

黑鸟

我必须按lastName和firstName排序对象列表(如果存在多个对象,则使用相同的lastName)。我还必须对这些应用Collat​​or。

假设我可以对一个属性执行此操作:

val collator = Collator.getInstance(context.getResources().getConfiguration().locale)

myList.sortedWith(compareBy(collator, { it.lastName.toLowerCase() }))

但是是否可以将另一个限制也应用于按firstName排序?

伊利亚

您可以使用添加其他排序条件thenBy

val comparator =
        compareBy(collator) { p: Person -> p.lastName.toLowerCase() }
                .thenBy(collator) { p: Person -> p.firstName.toLowerCase() }
val result = myList.sortedWith(comparator)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

按两个属性对对象数组进行排序

PHP通过两个属性对对象数组进行排序

如何通过两个不同的值对对象数组进行排序

如何按其两个属性的降序对对象数组进行排序

如何通过特定属性根据另一个相同类型的列表对对象列表进行排序

Java 使用两个索引对对列表进行排序

使用两个条件对对象的向量进行排序

如何在不连续重复 Javascript 中的两个特定属性的情况下对对象数组进行排序?

如何基于列表中的属性对对象列表进行排序

如何根据对象的属性对对象列表进行排序?

如何通过两个不同的键对列表进行排序?

如何通过其布尔属性对对象数组进行排序

如何用Java中的另一个对象的属性对对象列表进行排序?

如何通过字符串属性对对象列表进行排序并使用`key`参数?

Python(Django)如何通过时间戳属性对对象列表进行排序

如何使用两个属性对对象数组进行排序,但根据条件有条件地按排序顺序分组?

如何根据 2 个属性对对象集合进行排序

对对象列表进行排序和分组

如何对对象列表进行排序

Python,如何对对象列表进行排序?

如何对对象的数组列表进行排序?

如何对对象列表进行排序

使用Java中的可比较按两个字段升序和降序对对象列表进行排序

通过两个不同的属性对项目进行排序

Python通过两个键值对JSON列表进行排序

通过使用linq比较两个列表进行排序?

通过返回对象方法对对象列表进行排序

Python:根据两个属性对列表进行排序

按两个属性对jQuery列表进行排序