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

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

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

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

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

相关推荐
数智工坊1 天前
Zotero自建Ubuntu WebDAV附件同步方案(完美解决存储空间不足)
linux·运维·ubuntu
江畔柳前堤1 天前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
ltl1 天前
HTTP/3 实战:从 QUIC 到 H3 的完整请求链路
linux
ltl1 天前
POSIX 文件锁:flock、fcntl 与 NFS 上的工程陷阱
linux
ltl1 天前
CUDA 生态:cuBLAS、cuDNN、NCCL、Triton、CUTLASS
linux
饺子大魔王的男人1 天前
CentOS部署Cockpit:图形化查看系统、日志与服务状态
linux·运维·centos
不会就选b1 天前
Linux之信号(二)
linux·运维·服务器
我是小灰灰吖1 天前
QT在线安装器使用指南:从下载到配置完整教程
linux·qt·ubuntu
GlueNa2SiO31 天前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
寺中人1 天前
Linux 基础命令入门实战教程:从零掌握常用操作,新手快速上手
linux·运维·服务器·shell·linux 命令·linux 基础教程·linux 入门