【发布时间】:2016-05-16 13:04:35
【问题描述】:
你好朋友我有两个数组列表 mArrayListMySkuVarients 和 mArrayListAllVarients 我想从这两个数组列表中删除公共元素并将其存储第三个 mArrayListCommonVarients所以下面是我的代码
mArrayListMySkuVarients =new ArrayList<>();
mArrayListAllVarients=new ArrayList<>();
mArrayListCommonVarients=new ArrayList<>(mArrayListAllVarients);
GetProductDetail.ProductVarientData mProductVarientData=new GetProductDetail.ProductVarientData();
mProductVarientData.setSku("2");
mProductVarientData.setColor("Red");
mArrayListMySkuVarients.add(mProductVarientData);
GetProductDetail.ProductVarientData mProductVarientData1=new GetProductDetail.ProductVarientData();
mProductVarientData1.setSku("1");
mProductVarientData1.setColor("Green");
mArrayListMySkuVarients.add(mProductVarientData1);
GetProductDetail.ProductVarientData mProductVarientData2=new GetProductDetail.ProductVarientData();
mProductVarientData2.setSku("4");
mProductVarientData2.setColor("Blue");
mArrayListMySkuVarients.add(mProductVarientData2);
GetProductDetail.ProductVarientData mProductVarientData3=new GetProductDetail.ProductVarientData();
mProductVarientData3.setSku("2");
mProductVarientData3.setColor("Red");
mArrayListAllVarients.add(mProductVarientData3);
GetProductDetail.ProductVarientData mProductVarientData4=new GetProductDetail.ProductVarientData();
mProductVarientData4.setSku("1");
mProductVarientData4.setColor("Green");
mArrayListAllVarients.add(mProductVarientData4);
GetProductDetail.ProductVarientData mProductVarientData5=new GetProductDetail.ProductVarientData();
mProductVarientData5.setSku("4");
mProductVarientData4.setColor("Blue");
mArrayListAllVarients.add(mProductVarientData5);
GetProductDetail.ProductVarientData mProductVarientData6=new GetProductDetail.ProductVarientData();
mProductVarientData6.setSku("3");
mProductVarientData4.setColor("Yellow");
mArrayListAllVarients.add(mProductVarientData6);
for(GetProductDetail.ProductVarientData apv : mArrayListAllVarients) {
for (GetProductDetail.ProductVarientData pv : mArrayListMySkuVarients) {
if (apv.getSku() == pv.getSku() && apv.getColor().equalsIgnoreCase(pv.getColor())) {
mArrayListCommonVarients.remove(pv);
}
}
}
当我运行上面的代码时,它不会删除我的重复值,它会为我提供 mt 第三个数组列表中的所有数据,那么我该如何解决这个问题?你的所有建议都很有价值
【问题讨论】: