如何使用流从实际数组列表中获取子列表并对结果执行数据操作。
I have a pojo class
abc{
rowNum,
startDate,
endDate,
name,
Id
}
我有一个以下数据格式的数组列表。
abc [ rowNum=1, startDate=2018-01-01, endDate=2018-12-31, name= Testing, Id=101]
abc [ rowNum=1, startDate=2019-01-01, endDate=2099-12-31, name= Testing, Id=101]
abc [ rowNum=1, startDate=2019-01-01, endDate=2099-12-31, name= Testing, Id=101]
abc [ rowNum=46, startDate=2020-01-01, endDate=2099-12-31, name= Java, Id=456]
abc [ rowNum=46, startDate=2020-01-01, endDate=2099-12-31, name= Java, Id=456]
abc [ rowNum=46, startDate=2019-01-01, endDate=2099-12-31, name= Java, Id=456]
abc [ rowNum=58, startDate=2021-01-01, endDate=2099-12-31, name= Sun, Id=678]
abc [ rowNum=58, startDate=2019-01-01, endDate=2099-12-31, name= Sun, Id=678]
..... 10,000 records.
如何从列表中循环 rowNum=1 并对数据执行一些逻辑,然后转到 rowNum=46 等等......就像分组 rowNum..
abc [ rowNum=1, startDate=2018-01-01, endDate=2018-12-31, name= Testing, Id=101]
abc [ rowNum=1, startDate=2019-01-01, endDate=2099-12-31, name= Testing, Id=101]
abc [ rowNum=1, startDate=2019-01-01, endDate=2099-12-31, name= Testing, Id=101]
如何使用流从实际数组列表中获取子列表。
最佳答案
您可以使用“分组依据”收集器创建按行分组的实例映射,其中行号是映射中的键。请参阅Collectors .
Map<Integer, List<Abc>> byRows = list.stream()
.collect(Collectors.groupingBy(Abc::getRowNum));
关于java - 如何使用流从实际数组列表中获取子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57083589/