コードを少し最適化したかったのです。しようとしているのは、アレイから製品を削除することだけです。メソッドを呼び出すと、deleteProduct(prod.getId())
最初に追加した製品が削除されます。
for ループを使用して、配列内の製品を削除する方法を教えてください。ポインタはありますか?
public void deleteProduct(int productId) throws ProductNotFoundException {
Iterator<Product> it = allProducts.iterator();
Product p= null;
int pid = productId;
int i = 0;
if (!allProducts.isEmpty()) {
while(it.hasNext()){
p= it.next();
i= allProducts.indexOf(p);
if (p.getId().equals(productId)){
i= allProducts.indexOf(p);
allProducts.remove(i);
System.out.println("Successfully removed the product " + pid);
return;
}
}
}
throw new ProductNotFoundException ("No Such Product");
}