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 引入的用于处理集合数据的高级抽象,支持函数式编程风格的操作。

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

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

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

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

相关推荐
航Hang*2 小时前
Windows Server 配置与管理——第3章:文件系统管理
运维·服务器·windows·vmware
lifewange2 小时前
Linux ps 进程查看命令详解
linux·运维·服务器
功德+n2 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
人工干智能3 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
左手厨刀右手茼蒿3 小时前
Linux 内核中的块设备驱动:从原理到实践
linux·嵌入式·系统内核
杨云龙UP3 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
HXQ_晴天3 小时前
Ubuntu 设置中文输入法
linux·运维·ubuntu
无限进步_3 小时前
【C++】电话号码的字母组合:从有限处理到通用解法
开发语言·c++·ide·windows·git·github·visual studio
Dovis(誓平步青云)3 小时前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器