首页 > 其他分享 >Collections工具类,可以使用collections工具类对代码中的list进行分组

Collections工具类,可以使用collections工具类对代码中的list进行分组

时间:2024-03-23 17:12:37浏览次数:13  
标签:Map Collectors stream list id collections 工具 ActivitySku

/**
* 根据活动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流一样好用

标签:Map,Collectors,stream,list,id,collections,工具,ActivitySku
From: https://www.cnblogs.com/gsyy/p/18091331

相关文章

  • ETL工具-nifi干货系列 第一讲 揭开nifi神秘面纱
    1、nifi简介ApacheNiFi是基于流程编程概念的数据流系统。它支持强大且可扩展的数据路由、转换和系统中介逻辑的有向图。NiFi具有基于Web的用户界面,用于设计、控制、反馈和监控数据流。它在多个服务质量维度上都具有高度可配置性,例如容忍丢失与保证传递、低延迟与高吞吐量、基于......
  • Java学习笔记:ArrayList集合
    目录为什么要有集合:解决数组自动扩容的问题Java、python数据类型对比Java支持的数据类型主要分为两大类:Python支持多种数据类型,主要包括以下几种:在Java中常见的数据类型实现方式:Java通过使用集合框架来解决一组数据的存储和管理Java集合大致也可分成List、Set、Queue、Map四种接口......
  • Qt/C++通用跨平台Onvif工具/支持海康大华宇视华为天地伟业等/云台控制/预置位管理/工
    一、前言在安防视频监控行业,Onvif作为国际标准,几乎主要的厂商都支持,不仅包含了国内的厂商,也包括主要的国际厂商,由于有了这个标准的存在,使得不同设备不同安防平台之间,能够接入各个厂家的硬件设备,互通有无,你中有我我中有你,实现良性竞争。ONVIF是一个全球性的开放式行业协议,其目标是......
  • [nodejs] nodejs版本管理工具:nvm
    0序言nodejs的版本管理、安装,是个麻烦事儿。例如在centos7上安装nodejs,就不是那么痛快。(基于docker的安装,除外)1nvm简述nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看等与npm不同的是:npm是依赖包的管理工具,nvm是nodejs的版本管理工具,通过它可以......
  • 中考英语首字母快速突破014-2021上海徐汇英语二模-The Glamorous Life of TV Journali
    中考英语首字母快速突破014-2021上海徐汇英语二模-TheGlamorousLifeofTVJournalists-电视记者的风光生活PDF格式公众号回复关键字:ZKSZM014原文​HundredsofthousandsofpeopleoftenseetheirfacesontheTVscreen.Theymaybespeaking“live”from......
  • Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Underst
    名称Imagen:PhotorealisticText-to-ImageDiffusionModelswithDeepLanguageUnderstanding时间:22/05机构:GoogleTL;DR发现使用LLM(T5)可以作为text2image任务的textencoder,并且提升LLM模型size相对于提升imageDM模型size性价比更高,生成的图像保真度更高,内容也更符合文......
  • 2种包管理工具:pip和pipenv
    一、pippip 是Python的包安装器,它用于安装和管理Python包,它通过requirements.txt文件来管理项目所依赖的包1、生成requirements.txt文件:pipfreeze>requirements.txt2、安装requirements.txt依赖:pipinstall-rrequirements.txt3、激活虚拟环境:sourcemyenv/bin/activ......
  • 使用ultraliso制作U盘启动工具步骤
    首先准备一个空U盘,iso文件,然后再ultraliso内部分别读取相应文件夹点击启动,写入硬盘驱动 点击写入 等待写入完成即可 ......
  • node管理包工具nvm的安装与基本使用
    一:安装github地址https://github.com/nvm-sh/nvmwindows可以直接去下载管理.exe一键安装执行命令nvm-v如果成功会显示安装的对应版本号nvm-v1.1.12二:设置node下载源。我们都知道,node这个东西,从node中文站下载速度还好,不然,下载速度也是够受的。那么nvm如何设置node......
  • 2020-3-7-webpack打包工具
    概述、快速使用、配置文件、webpack-dev-server、babel使用概述为优化页面发送多次的二次请求导致加载速度变慢和处理错综复杂的文件依赖关系,则需要将项目中涉及的多个文件进行合并并重新构建。wepack是一个基于node.js项目构建工具,其构建方式是基于项目构建。安装npmiwebp......