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

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

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

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

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

相关推荐
tntxia14 小时前
linux curl命令详解_curl详解
linux
扛枪的书生16 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸19 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux