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

相关文章

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

shell中set -u、set -x、set -e的使用

《shell中set-u、set-x、set-e的使用》本文主要介绍了shell中set-u、set-x、set-e的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录✅ 1. set -u:防止使用未定义变量 作用: 示例:❌ 报错示例输出:✅ 推荐使用场景:✅ 2. se