簡単な質問があります。次のようなフィールドを持つクラス Product があります。
private Integer id;
private String category;
private String symbol;
private String desc;
private Double price;
private Integer quantity;
ID に基づいて LinkedHasSet から重複アイテムを削除したい。たとえば、同じ ID を持つが数量が異なる製品がセットに追加され、同じ ID を持つ製品を削除 (更新) したい。それをするために?
例: 製品: id=1、カテゴリ=CCTV、シンボル=TVC-DS、desc=シンプル カメラ、価格=100.00、数量=1 製品: id=1、カテゴリ=CCTV、シンボル=TVC-DS、desc=シンプル カメラ、価格=100.00、数量=3
セットに追加されません
私のコード:
public void setList(Set<Product> list) {
if(list.isEmpty())
this.list = list;
else {
this.list.addAll(list);
Iterator<Product> it = this.list.iterator();
for(Product p : list) {
while(it.hasNext()) {
if(it.next().getId() != p.getId())
it.remove();
this.list.add(p);
}
}
}
}