【发布时间】:2020-04-09 09:49:34
【问题描述】:
我正在努力使用 groovy groupBy
我需要支持通过可变键集对数据集进行分组。
我已经编写了一个测试来解释我的困境,并且希望得到一些帮助来理解如何实现它:
https://groovyconsole.appspot.com/script/5155615986941952
List<Map> people = [
[
Sex: "Male",
Age: 30,
Job: "Programmer",
Name: "Boris"
],
[
Sex: "Female",
Age: 30,
Job: "Programmer",
Name: "Jennifer"
],
[
Sex: "Male",
Age: 40,
Job: "Web Designer",
Name: "Bob"
],
[
Sex: "Female",
Age: 20,
Job: "Database Admin",
Name: "Alice"
]
]
List results = []
if(people.groupBy({it.Sex}, {it.Age}) != groupBySpecifiedCols(people, ["Sex", "Age"])){
return "Failed 1"
}
if(people.groupBy({it.Sex}, {it.Age}, {it.Job}) != groupBySpecifiedCols(people, ["Sex", "Age", "Job"])){
return "Failed 2"
}
def groupBySpecifiedCols(List<Map> data, List<String> columns){
// IMPLEMENT HERE
return null
}
return "Success!"
【问题讨论】: