我想使用 java 流对子列表中的元素进行分组和计数。
例如,我有一个 AnswerWithOneCorrectOption 类型的答案,如下所示:
class AnswerWithOneCorrectOption {
Long choiceId;
}
此答案类型只有一个正确选项,存储在“AnswerWithOneCorrectOption.id”中。我正在通过 AnswerWithOneCorrectOption 的列表进行流式传输,基于 id 进行分组并使用以下方法进行计数:
private Map<Long, Long> countChoicesAndGroup(List<AnswerWithOneCorrectOption> answers){
Map<Long, Long> map = answers.parallelStream()
.collect(Collectors.groupingBy(AnswerWithOneCorrectOption::getChoiceId,
Collectors.counting()));
return map;
}
假设我有另一种可以有多个正确选项的答案类型。我将这些选项保存在List<Long> choiceIds.
class AnswerWithMultipleCorrectOptions {
List<Long> choiceIds;
}
如何按choiceId 分组List<Long> choiceIds并计数?
人到中年有点甜
相关分类