Я борюсь с использованием 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!"