Collections工具類,可以使用collections工具類對程式碼中的list進行分組

凉忆~發表於2024-03-23
/**
* 根據活動id進行分組
* key 活動id
* value 活動id對應的商品id
*/

Map<Long, Set<Long>> collect = activitySkuList .stream() .collect(Collectors .groupingBy(ActivitySku::getActivityId , Collectors.mapping(ActivitySku::getSkuId, Collectors.toSet()) ) ); Map<Long, List<Long>> collect1 = activitySkuList.stream().collect(Collectors.groupingBy(ActivitySku::getActivityId, Collectors.mapping(ActivitySku::getSkuId, Collectors.toList()))); Map<Long, List<SkuInfo>> collect2 = activitySkuList.stream().collect(Collectors.groupingBy(ActivitySku::getActivityId, Collectors.mapping(ActivitySku::getSkuInfo, Collectors.toList()))

當我們需要對程式碼list進行分組的時候,有時候使用for迴圈會顯得很蠢,那麼使用Colletions工具類就會很方便,根據所需要的分類值,進行對映分組集合,以上是案例

toMap 返回map集合 Map<Long, List<Long>>

toList 返回list集合

tips stream流一樣好用

相關文章