与えられた2つの文字列からPOJO値を比較します。すべてのEmployee pojoオブジェクトがArraylistに追加されます。は、私はPOJOクラスを持っている
class EmployeeData{
Employee employee = new Employee(111,"XXX");
Employee employee1 = new Employee(222, "YYY");
Employee employee2 = new Employee(444, "BBB");
List<Employee> listData = new ArrayList<Employee>();
listData.add(employee);
listData.add(employee1);
listData.add(employee2);
public List<Employee> getList(List<Employee> list){
return list;
}
}
最後に、別のリストとマージメソッドを持つメインクラスがあります。
class EmployeeTest{
Employee employee = new Employee(111,"NNN");
Employee employee1 = new Employee(222, "YYY");
Employee employee2 = new Employee(333, "KKK");
List<Employee> list = new ArrayList<Employee>();
list.add(employee);
list.add(employee1);
list.add(employee2);
public List<Employee> merge(List<Employee> list){
//code goes here
return listData;
}
は、私は両方のリストからidを比較する必要があるとidの試合が、名前が異なっている場合、私は、リストの値を使用してlistDataプロパティの値を上書きします。
idsが一致せず、333がlistDataに存在しないような場合。 idと値を追加します。最後に
- listDataの一部のIDがリストと一致しない場合は、削除します。 listDataから444を削除し、最後にlistDataを返します。
このようなことを試みましたが、適切な出力が得られません。助けてください。
public List<Employee> merge(List<Employee> list){
if(list==null){
return null;
}
List<Employee> list1 = employeeDao.getList();
for(int i =0;i<list1.size();i++){
for(int j=0; j<list1.size();j++){
if(list.get(i).getEmpCode().equals(list2.get(j).getEmpCode())){
list1.set(j, list.get(i));
j++;
}else{
j++;
}
}
}
return list;
}
最後の2つのロジックについて考えることはできません。助けてください
はい、それが働いている...おかげでたくさん –
私は、このためのHashMapを取得すると思ったのHashMapかのLinkedHashMap –