【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 方法来打印出结果。

相关推荐
人间打气筒(Ada)6 分钟前
jenkins基于Pipeline发布项目
java·pipeline·jenkins·流水线·ci·cd·cicd
爬山算法11 分钟前
Hibernate(88)如何在负载测试中使用Hibernate?
java·后端·hibernate
摘星编程11 分钟前
解析CANN ops-nn中的Transpose算子:张量维度变换的高效实现
python
自不量力的A同学15 分钟前
Solon AI v3.9 正式发布:全能 Skill 爆发
java·网络·人工智能
Liekkas Kono19 分钟前
RapidOCR Python 贡献指南
开发语言·python·rapidocr
万岳科技系统开发26 分钟前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
独断万古他化30 分钟前
【Spring 原理】Bean 的作用域与生命周期
java·后端·spring
玄同76531 分钟前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
*小海豚*35 分钟前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器
春日见37 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器