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

相关推荐
凤山老林2 分钟前
Spring Boot DDD 分层架构落地:领域模型、聚合根与事件驱动的业务实战
java·spring boot·架构
梅雅达编程笔记3 分钟前
02_BeautifulSoup网页数据提取
开发语言·爬虫·python·beautifulsoup·数据采集
自强的小白4 分钟前
MYbatis-plus(自定义sql)
java·sql·mybatis
古法安卓4 分钟前
Android-Ext4文件系统问题排查
android·java·android studio
Escalating_xu7 分钟前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
ai小陈8 分钟前
深度学习CUDA OOM排查:显存占用与碎片问题实战
服务器·人工智能·python·深度学习·ai·gpu算力
不正经的码狗24 分钟前
Java 开发环境搭建与 Eclipse 使用速通教程
java·开发语言·eclipse
用户81818706274625 分钟前
第37章 Java应用在K8s里的经典坑:容器内存/CPU limit与JVM参数不匹配导致的OOMKilled
java·后端
小小张说故事32 分钟前
pandas 读大 CSV 太慢?6 个实测提速技巧(dtype / 分块 / 引擎选择)
后端·python·pandas
yi01135 分钟前
DAY17: LeetCode 139|单词拆分:从“把单词删掉”到用 DP 记录合法切口
人工智能·笔记·python·算法·leetcode·动态规划