私は2つのリストを持っています。 最適な方法で2つのリストをマージする
List<Customer> customers1 = getCustomerDetails1();
List<Customer> customers2 = getCustomerDetails2();
public class Customer {
private String firstName;
private String lastName;
private String gender;
private String birthDate;
private String formatedDob;
private String mobileNumber;
private String oldMobileNumber;
private String emailId;
private String add1;
private String add2;
private String add3;
private String pincode;
private String city;
private String cityId;
----
getter, setter
は今、私は以下のように両方のリストデータをマージしています:
List<Customer> customerVoList = new ArrayList<>();
for (Customer localCustomerVO : customers1) {
for (Customer customerHubVO : customers2) {
localCustomerVO = fillCustomerDetails(localCustomerVO, customerHubVO);
customerVoList.add(localCustomerVO);
}
}
private Customer fillCustomerDetails(Customer localCustomerVO, Customer customerHuvVO) {
localCustomerVO.setFirstName(StringUtils.isEmpty(customerHuvVO.getFirstName()) ? localCustomerVO.getFirstName() : customerHuvVO.getFirstName());
localCustomerVO.setLastName(StringUtils.isEmpty(customerHuvVO.getLastName()) ? localCustomerVO.getLastName() : customerHuvVO.getLastName());
localCustomerVO.setEmailId(StringUtils.isEmpty(customerHuvVO.getEmailId()) ? localCustomerVO.getEmailId() : customerHuvVO.getEmailId());
localCustomerVO.setBirthDate(StringUtils.isEmpty(customerHuvVO.getBirthDate()) ? localCustomerVO.getBirthDate() : customerHuvVO.getBirthDate());
localCustomerVO.setFormatedDob(customerHuvVO.getBirthDate() != null ? DateUtils.getDateddMMYYYY(customerHuvVO.getBirthDate()) : (localCustomerVO.getBirthDate() != null ? DateUtils.getDateddMMYYYY(localCustomerVO.getBirthDate()) : ""));
localCustomerVO.setAdd1(StringUtils.isEmpty(customerHuvVO.getAdd1()) ? localCustomerVO.getAdd1() : customerHuvVO.getAdd1());
localCustomerVO.setAdd2(StringUtils.isEmpty(customerHuvVO.getAdd2()) ? localCustomerVO.getAdd2() : customerHuvVO.getAdd2());
localCustomerVO.setAdd3(StringUtils.isEmpty(customerHuvVO.getAdd3()) ? localCustomerVO.getAdd3() : customerHuvVO.getAdd3());
localCustomerVO.setCity(StringUtils.isEmpty(customerHuvVO.getCity()) ? localCustomerVO.getCity() : customerHuvVO.getCity());
localCustomerVO.setState(StringUtils.isEmpty(customerHuvVO.getState()) ? localCustomerVO.getState() : customerHuvVO.getState());
localCustomerVO.setPincode(StringUtils.isEmpty(customerHuvVO.getPincode()) ? localCustomerVO.getPincode() : customerHuvVO.getPincode());
return localCustomerVO;
}
上記のコードは正常に動作しています。しかし、私は他の最善の方法を探しています。
これは間違っています。最初のリストの顧客と2番目のリストの顧客を正確にマージしてはいけませんか? – Eran
「CustomerVO」とは何ですか? –
@Earn収益を増やすのは簡単な方法です。あなたは前に 'N'の顧客を持っていましたが、代わりに' N^2'の顧客を持っています:D –