gpt4 book ai didi

sorting - Groovy - 使用两个标准对我的对象列表进行排序

转载 作者:行者123 更新时间:2023-12-01 22:24:37 24 4
gpt4 key购买 nike

关注本类(class):

class Report
{
String firstName
String lastName
}

我需要首先按姓氏,然后按名字对我的人员列表进行排序。

我尝试使用以下代码来实现它:

persons.sort{[it.lastName, it.firstName]}

但它没能做到这一点。
还有其他建议按两个标准排序吗?

最佳答案

使用最新版本的 groovy 您可以使用 @Sortable 来实现此目的注释。

第二个选项是实现 Comparable并使用spaceship ( <=> ) 运算符。

这里是 sort 的示例方法:

import groovy.transform.ToString

@ToString
class R {
def f
def l
}

def list = [new R(f: 'A', l: 'B'),new R(f: 'A', l: 'A'),new R(f: 'A', l: 'C'),new R(f: 'B', l: 'C')]

list.sort {left, right -> left.l <=> right.l ?: left.f <=> right.f}

关于sorting - Groovy - 使用两个标准对我的对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23512278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com