Collections工具类,可以使用collections工具类对代码中的list进行分组
/**
* 根据活动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流一样好用
分类:
java合集 / java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通