我有 2 个课程“客户”和“客户详细信息”。
Class Customer{
private String ssn;
}
Class CustomerDetails{
private String name;
private String appid;
}
还有一个
Map<String,String> appIdtoSsnMap
,它保存 ssn 与 appId 的映射。
假设我有一个
List<CustomerDetails>
和 List<Customers>
。如何从 CustomerDetails 中提取 appId,在 appIdtoSsnMap
中查找以获取 ssn 并将其设置回 Customers 的 ssn
字段。
我猜你想要这样的东西,你可以根据你的文件替换你的getter方法。
if (customersList != null && customerDetailsList != null && appIdtoSsnMap != null) {
for (CustomerDetails customerDetails : customerDetailsList) {
String appId = customerDetails.getAppId();
String ssn = appIdtoSsnMap.get(appId);
if (ssn != null) {
customersList.stream()
.filter(customer -> ssn.equals(customer.getSsn()))
.findFirst()
.ifPresent(customer -> customer.setSsn(ssn));
}
}
}