Я хочу удалить дублируемую запись на основе productId и priceTagId. Если удалить дубликаты, нам нужно добавить ВеличинуКак удалить дубликаты записей ArrayList в java
здесь в списке Детали изделия же PRODUCTID есть, но количество отличается, если мне нужно добавить количество в один
"productDetails" : [
{
"productId" : "5764dfb7d991390e25edff74",
"quantity" : 2,
"netQty" : "10mg",
"priceTagId" : 1,
"alertAvailablity" : "Success"
},
{
"productId" : "5764dfb7d991390e25edff74",
"quantity" : 4,
"netQty" : "10mg",
"priceTagId" : 1,
"alertAvailablity" : "Success"
},
{
"productId" : "5764dfb7d991390e25edff74",
"quantity" : 6,
"netQty" : "30mg",
"priceTagId" : 3,
"alertAvailablity" : "Success"
},
{
"productId" : "5764dfb7d991390e25edff74",
"quantity" : 8,
"netQty" : "30mg",
"priceTagId" : 3,
"alertAvailablity" : "Success"
},
{
"productId" : "2345dfb7d991390e25edf659",
"quantity" : 8,
"netQty" : "30mg",
"priceTagId" : 3,
"alertAvailablity" : "Success"
}
],
я получил окончательный вывод как
"productDetails" : [
{
"productId" : "5764dfb7d991390e25edff74",
"quantity" : 6,
"netQty" : "10mg",
"priceTagId" : 1,
"alertAvailablity" : "Success"
},
{
"productId" : "5764dfb7d991390e25edff74",
"quantity" : 14,
"netQty" : "30mg",
"priceTagId" : 3,
"alertAvailablity" : "Success"
},
{
"productId" : "2345dfb7d991390e25edf659",
"quantity" : 8,
"netQty" : "30mg",
"priceTagId" : 3,
"alertAvailablity" : "Success"
}
],
Основываясь на ProductID и priceTagId мне нужно, чтобы удалить дубликаты и добавить количество из удаленного дублей записи
private List<ProductDetail> removeDuplicateProducts(List<ProductDetail> productDetails) throws BaseException {
for (ProductDetail eachProductDetail : productDetails) {
for (ProductDetail eachInnerProductDetail : productDetails) {
if(eachProductDetail.getProductId().equals(eachInnerProductDetail.getProductId()))
{
if(eachProductDetail.getPriceTagId().equals(eachInnerProductDetail.getPriceTagId()))
{
eachProductDetail.setQuantity(eachProductDetail.getQuantity()+eachInnerProductDetail.getQuantity());
productDetails.clear();
}
}
}
}
return productDetails;
}
Но я понимаю, что это так? Что не так?
Почему бы не поставить их в комплекте? –
Используйте набор, если вы не хотите дублировать –
Лучше пойти на набор, чтобы избежать дублирования записей.! –