I have a List<Records> =
[
{"studentId": "001", "date": "20180705", "courseId": "CS220", "score": "80"},
{"studentId": "001", "date": "20180702", "courseId": "CS320", "score": "75"},
{"studentId": "001", "date": "20180704", "courseId": "CS330", "score": "90"},
{"studentId": "002", "date": "20180703", "courseId": "CS640", "score": "95"},
{"studentId": "002", "date": "20180628", "courseId": "CS530", "score": "80"},
{"studentId": "002", "date": "20180701", "courseId": "CS545", "score": "90"},
{"studentId": "100", "date": "20180708", "courseId": "CS542", "score": "80"},
{"studentId": "100", "date": "20180629", "courseId": "CS240", "score": "97"},
...
]
How can I group the objects by same studentId and just keep the one which has highest score in list? like following:
List<Records> =
[
{"studentId": "001", "date": "20180704", "courseId": "CS330", "score": "90"},
{"studentId": "002", "date": "20180703", "courseId": "CS640", "score": "95"},
{"studentId": "100", "date": "20180629", "courseId": "CS240", "score": "97"},
...
]