当前位置: 首页 > news >正文

Class A 包含字段 x Class B 也包含字段 x,如果判断List<A> lista 和 List<B> listb 有相同的 x?

要判断两个不同类型的对象列表 List<A> 和 List<B> 是否包含相同的 x字段值(即两个列表中至少有一个 x是相同的),你可以使用 Java 8 的 Stream API 来实现。

import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;public class CompareX {// 假设类 A 和 B 结构如下:static class A {private String x;// 构造方法、getter 省略public A(String x) { this.x= x; }public String getX() { return x; }}static class B {private String spdm;// 构造方法、getter 省略public B(String x) { this.x= x; }public String getX() { return x; }}/*** 判断 lista 和 listb 是否有相同的 x值*/public static boolean hasSameX(List<A> lista, List<B> listb) {if (lista.isEmpty() || listb.isEmpty()) {return false;}// 将 listb 的 x提取为 Set,便于快速查找Set<String> xSet = listb.stream().map(B::getX).collect(Collectors.toSet());// 检查 lista 中是否有任何一个 x在 xet 中return lista.stream().anyMatch(a -> spdmSet.contains(a.getX()));}// 使用示例public static void main(String[] args) {List<A> lista = List.of(new A("001"), new A("002"), new A("003"));List<B> listb = List.of(new B("004"), new B("002"), new B("005"));boolean result = hasSameX(lista, listb);System.out.println("是否有相同的 x: " + result); // 输出: true(因为都有 "002")}
}

http://www.dtcms.com/a/342854.html

相关文章:

  • 基于websocket聊天室的基本点
  • SQL中的游标
  • html ajax前端页面
  • 51单片机-驱动直流电机模块教程
  • 单片机\物联网\51单片机\嵌入式开发\软硬件结合的基于STM32的电梯管理系统的设计/基于STM32的电梯运行系统的设计
  • 【华为OD-C卷-020 -关联端口组合并 100分(python、java、c++、js、c)】
  • 解决 uniapp 修改index.html文件不生效的问题
  • PCB文件怎么快速判断是通孔还是盲孔呢?
  • Git 2.15.0 64位安装步骤Windows详细教程从下载到验证(附安装包下载)
  • 14、外部中断
  • 【科普向-第三篇】汽车电子MCU操作系统详解:CP AUTOSAR与FreeRTOS
  • 1688电商商品大数据采集之路 技术篇
  • 嵌入式接口通识知识之PWM接口
  • 机器学习聚类与集成算法全解析:从 K-Means 到随机森林的实战指南
  • 从系统漏洞归零到候诊缩短20%:一个信创样本的效能革命
  • 播放器视频后处理实践(一)
  • 视频加水印 视频加水印软件 视频加动态水印
  • 音视频面试题集锦第 29 期
  • 如何有效防止视频在浏览器播放时被录屏?
  • 全媒体人才培育对接会:国际数字影像产业园赋能企业发展
  • 如何学习编程
  • 完全背包(模板)
  • Mysql基础(③事务)
  • [ Servlet 服务器]
  • LTM框架Letta
  • Java项目:基于SpringBoot和VUE的在线拍卖系统(源码+数据库+文档)
  • 【leetcode】202. 快乐数
  • IKE工作过程
  • 树表转换成有层次的List列表(无限层级)
  • 北京-15k测试-入职甲方金融-上班第二天