如何从 Groovy 中的组数组中获取最小值和最大值

How to get min and max value from a group array in Groovy

我是 Groovy 的新手,我不知道从哪里开始解决这个问题。 我有一个 xml 文件,其中包含多个带有 rid、id 和日期的条目。 我已经设法将元素放入一个数组中,我想提取按每个 rid 分组的 rid、最小日期和最大日期。如果组中只有一个条目,则最小和最大日期将相同。

Data:
1,1234,2022010101;
2,1235,2022020202;
2,1236,2022030303;

Preferred output:
1,2022010101,2022010101;
2,2022020202,2022030303;

尝试这样的事情:

def dataLines = [
    [1,1234,2022010101],
    [2,1235,2022020202],
    [2,1236,2022030303]
]

def output = dataLines.groupBy { it[0] }.collect { rid, lines ->
    def sorted = lines.sort{ it[2] }
    [ rid , sorted[0][2], sorted[-1][2] ]
}

output.each { println it }