List对象转成Map,List对象转成Set,List对象转成List<参数>,List对象转成List<String>,JDK1.8流式处理

2024-06-09 17:48

本文主要是介绍List对象转成Map,List对象转成Set,List对象转成List<参数>,List对象转成List<String>,JDK1.8流式处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目的:

List对象转成Map,List对象转成Set,List对象转成List<参数>,List对象转成List<String>,JDK1.8流式处理

JDK1.8操作,使用lambada表达式处理List

第一步: 数据库获取数据
List<TbmNewsPopularFeelings> tbmNewsPopularFeelingsList = tbmNewsPopFeeMapper.selectList(wrapper);
if (!CollectionUtils.isEmpty(tbmNewsPopularFeelingsList)) {

第二步,List<对象>  转成Map格式,List对象转成Map
    Map<Long, TbmNewsPopularFeelings> resultMap = tbmNewsPopularFeelingsList.stream().collect(Collectors.toMap(TbmNewsPopularFeelings::getNewsId, v -> v, (k1, k2) -> k1));

第三步 List对象转成List<参数>
    List<Long> newsIdLsit = tbmNewsPopularFeelingsList.stream().map(TbmNewsPopularFeelings::getNewsId).collect(Collectors.toList());
    Set newsIdSet = new HashSet();
    newsIdSet.addAll(newsIdLsit);
    if (newsIdSet.size() == 1 && newsIdSet.contains(newsId)) {
        return null;
    } else {
        newsIdSet.remove(newsId);
        return newsIdSet.toString();
    }
}
return null;

第四步,List可以通过group By来改造成一个Map

//Map<公司id,标签列表>  根据公司id分组
Map<String, List<TbmEventTags>> businessIdMap = tbmEventTagsList.stream().collect(Collectors.groupingBy(TbmEventTags::getBusinessId));
   List<TbmNewsPopularFeelings> tbmNewsPopularFeelingsList = tbmNewsPopFeeMapper.selectList(wrapper);if (!CollectionUtils.isEmpty(tbmNewsPopularFeelingsList)) {Map<Long, TbmNewsPopularFeelings> resultMap = tbmNewsPopularFeelingsList.stream().collect(Collectors.toMap(TbmNewsPopularFeelings::getNewsId, v -> v, (k1, k2) -> k1));List<Long> newsIdLsit = tbmNewsPopularFeelingsList.stream().map(TbmNewsPopularFeelings::getNewsId).collect(Collectors.toList());Set newsIdSet = new HashSet();newsIdSet.addAll(newsIdLsit);if (newsIdSet.size() == 1 && newsIdSet.contains(newsId)) {return null;} else {newsIdSet.remove(newsId);return newsIdSet.toString();}}return null;

 

这篇关于List对象转成Map,List对象转成Set,List对象转成List<参数>,List对象转成List<String>,JDK1.8流式处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045877

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

Redis如何使用zset处理排行榜和计数问题

《Redis如何使用zset处理排行榜和计数问题》Redis的ZSET数据结构非常适合处理排行榜和计数问题,它可以在高并发的点赞业务中高效地管理点赞的排名,并且由于ZSET的排序特性,可以轻松实现根据... 目录Redis使用zset处理排行榜和计数业务逻辑ZSET 数据结构优化高并发的点赞操作ZSET 结

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添