4 回答
TA贡献1820条经验 获得超2个赞
如果您需要删除多个项目,您可以将它们添加到临时列表并使用 removeAll
// creating ArrayList
java.util.List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("mango");
list.add("barry");
java.util.List<String> needToRemove = new ArrayList<>();
needToRemove.add("apple");
needToRemove.add("banana");
// removeAll will remove multiple elements,
// We can pass any collection like Set, List or any other
list.removeAll(needToRemove);
System.out.println("After Removed From List:");
list.forEach(System.out::println);
TA贡献1790条经验 获得超9个赞
正如我所见,您传递给removeOrderItem方法的数组列表是一个字符串列表,而您在类中的数组列表是一个OrderItem. 所以首先你必须找到这两个列表之间的共同点。
假设模型OrderItem有一个包含每个订单名称的字段 ( orderItem.getName())。itemArray方法中的是removeOrderItem一个列表,其中包含您要删除的一些订单的名称。
好的,在这种情况下,我们可以这样做:
public void removeOrderItem(ArrayList<String> itemArray) {
List<OrderedItem> tempList = new ArrayList<>();
for (OrderedItem food: this.order) {
for (String foodName: itemArray) {
if (food.getName().equals(foodName))
tempList.add(food);
break;
}
}
this.order.removeAll(tempList);
}
TA贡献1853条经验 获得超6个赞
Arraylist.clear(); 方法可用于清除数组列表 Arraylist.removeAll(); 方法删除数组列表的所有元素。这两种方法都会清除列表中的元素。clear() 方法具有更好的性能,因为它必须执行的行数更少。此链接https://howtodoinjava.com/java/collections/arraylist/empty-clear-arraylist/提供了这两种方法的源代码
添加回答
举报