Java比较两个list,A中有但B中没有的元素

复制代码
一、比较两个list的差异
public List<String> getAList( List<String> listA ,List<String> listB){
    // 使用Stream过滤
    List<String> result = listA.stream()
            .filter(element -> !listB.contains(element))
            .collect(Collectors.toList());
    log.info("A中有但B中没有的元素:{} ",result);
    return result;
}
java 复制代码
public List<String> getAList( List<String> listA ,List<String> listB){
    // 使用Stream过滤
    List<String> result = listA.stream()
            .filter(element -> !listB.contains(element))
            .collect(Collectors.toList());
    log.info("A中有但B中没有的元素:{} ",result);
    return result;
}

二、计算一个list里面的值的总和

复制代码
//计算总工时
int totalHjValue = PmMemberHourVoList.stream()
        .map(PmMemberHourVo::getHjValue)                    // 提取工时
        .filter(hjValue -> hjValue != null && hjValue.matches("\\d+"))  // 过滤有效数字
        .mapToInt(Integer::parseInt)          // 转换为int
        .sum();
java 复制代码
 //计算总工时
        int totalHjValue = PmMemberHourVoList.stream()
                .map(PmMemberHourVo::getHjValue)                    // 提取工时
                .filter(hjValue -> hjValue != null && hjValue.matches("\\d+"))  // 过滤有效数字
                .mapToInt(Integer::parseInt)          // 转换为int
                .sum();

Stream(流)是 Java 8 引入的用于处理集合数据的高级抽象,支持函数式编程风格的操作。

  • 声明式:描述做什么,而不是怎么做

  • 可组合:多个操作可以链式调用

  • 可并行:支持并行处理提高性能

  • 内部迭代:自动迭代,无需手动写循环

相关推荐
豆是浪个4 小时前
Linux(Centos 7.6)命令详解:ps
linux·windows·centos
Run_Teenage5 小时前
Linux:深刻理解缓冲区
linux
故事不长丨5 小时前
C#集合:解锁高效数据管理的秘密武器
开发语言·windows·c#·wpf·集合·winfrom·字典
youxiao_905 小时前
kubernetes 概念与安装(一)
linux·运维·服务器
凡梦千华6 小时前
logrotate日志切割
linux·运维·服务器
wdfk_prog6 小时前
[Linux]学习笔记系列 -- [fs][proc]
linux·笔记·学习
拜托啦!狮子6 小时前
安装和使用Homer(linux)
linux·运维·服务器
liulilittle7 小时前
XDP VNP虚拟以太网关(章节:一)
linux·服务器·开发语言·网络·c++·通信·xdp
Sapphire~7 小时前
Linux-13 火狐浏览器书签丢失解决
linux
不染尘.7 小时前
进程切换和线程调度
linux·数据结构·windows·缓存