У меня есть два класса с разными свойствами и только один с общим. Я хочу сравнить два и извлечь список с отсутствующими элементами. Так, например, у нас есть следующие классы, где inventoryId и id совпадают, и это элементы, которые мы будем искать, если они отсутствуют в списке лекарств.
public class DrugInventory {
String inventoryId;
String drugStatus;
}
public class Drug{
String id;
String name;
String quantity;
}
inventoryID
в DrugInventory
равно id
в Drug
. Итак, вот два значения, которые я посмотрю, если они отсутствуют в списке лекарств.
List<DrugInventory> drugInventories = new ArrayList<>();
DrugInventory drugInventory = new DrugInventory("121212");
DrugInventory drugInventory1 = new DrugInventory("232323");
DrugInventory drugInventory2 = new DrugInventory("343434");
DrugInventory drugInventory3 = new DrugInventory("454545");
DrugInventory drugInventory4 = new DrugInventory("565656");
drugInventories.add(drugInventory);
drugInventories.add(drugInventory1);
drugInventories.add(drugInventory2);
drugInventories.add(drugInventory3);
drugInventories.add(drugInventory4);
List<Drug> drugs = new ArrayList<>();
Drug drug = new Drug("121212");
Drug drug1 = new Drug("232323");
Drug drug2 = new Drug("343434");
drugs.add(drug);
drugs.add(drug1);
drugs.add(drug2);
Ожидаемый результат здесь должен быть равен списку, похожему на этот:
[DrugInventory(inventoryId=454545, drugStatus=null), DrugInventory(inventoryId=565656, drugStatus=null)]
Я могу использовать здесь вложенные циклы для сравнения каждого элемента, но это было бы неэффективно. Как я могу сделать это эффективно?