【Java Stream 实战】

(1)groupingBy 分组

java 复制代码
        Map<String,List<ServiceInfoEntity>> dataMap= serviceInfoList.stream().collect(Collectors.groupingBy(d->{
            String a = d.A()+":"+d.B();
            return a;
        }));

(2)组装自己想要的实体

java 复制代码
          List<ServiceInfoType> typeList = typeValue.stream().map(entity ->{
                ServiceInfoType type = new ServiceInfoType();
                type.setFirstType(entity.getFirstType());
                type.setSecondType(entity.getSecondType());
                return type;
            }).collect(Collectors.toList());

(3)将集合转换成String,展示形式A,B, C,D

java 复制代码
typeValue.stream().map(ServiceInfoEntity::getFirstType).collect(Collectors.toList()).toString()

(4)拼接(A,B,C),(A,B,C) ,可用于当查询数据量过大Mybtis原始的不好用,通过这种拼接的形式传入。

java 复制代码
devInterList.stream().map(obj->"("+obj.A()+","+obj.B()+","+"'"+obj.C()+"'"+")").collect(Collectors.joining(","));
xml 复制代码
(A,B,C) in (${参数})

(5)假设我们有一个字符串列表,我们想要打印出每个字符串及其在列表中的索引。

java 复制代码
List<String> words = Arrays.asList("zhangsan", "lisi", "wangmazi");

// 使用IntStream和mapToObj进行迭代
IntStream.range(0, words.size())
  .mapToObj(index -> "索引: " + index + ", 值: " + words.get(index))  // 获取索引和对应的值
  .forEach(System.out::println);  // 打印结果

在这个示例中,我们首先定义了一个包含三个字符串的列表 words。然后,我们使用 IntStream.range 方法创建一个从0到 words.size() 的整数流,其中每个整数代表一个索引。接下来,我们使用 mapToObj 方法将每个索引映射到一个字符串,这个字符串包含索引和对应的列表元素。最后,我们使用 forEach 方法来打印出结果。

相关推荐
非优秀程序员5 小时前
第04章 邮箱大战,163 与 QQ 的暗战|《互联网产品恩仇录》
java·vue.js·架构
知已难寻5 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
文丑颜不良啊7 小时前
LeetCode2481~2500题目解析
java·leetcode
Flynn Liang8 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
聪明的笨猪猪9 小时前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程
用户956256254299 小时前
跟做:Firecrawl 单页转 Markdown 再丢进沙箱总结
python·api
愿有所息9 小时前
记一次 ARM64 + JDK8 上 fastjson2 的诡异数据错乱
java
威哥爱编程9 小时前
模拟面试智能体开发实战 02:回答等半分钟,谁还愿意练?把服务端和流式输出搭起来
python·agent·harmonyos
秋饼9 小时前
MCP 2026-07-28 无状态协议大改版:Spring AI 2.1 多轮往返请求与网关路由落地
java·ai·技术分享·后端开发
威哥爱编程10 小时前
模拟面试智能体开发实战 01:面试挂了都不知道挂在哪?用 Python 给自己造一个随叫随到的 AI 面试官
python·agent·harmonyos