Java remove each object of list which content is equal to value public void remove(List<Double> list, double value)
时间: 2023-02-09 19:10:14 浏览: 95
这是一个删除给定列表中所有值等于给定值的对象的方法:
```
public void remove(List<Double> list, double value) {
Iterator<Double> iterator = list.iterator();
while (iterator.hasNext()) {
if (iterator.next().equals(value)) {
iterator.remove();
}
}
}
```
使用迭代器遍历列表,如果当前元素的值等于给定值,则使用迭代器的`remove()`方法删除它。
注意,在这种情况下,使用 `Double.equals()` 方法来比较值的相等性,而不是使用比较运算符(`==`)。因为 `Double` 类型是一个对象,所以使用 `==` 运算符比较它们是否相等会比较它们的内存地址,而不是它们的值。使用 `Double.equals()` 方法比较它们的值。
例如,要删除列表中所有值为 5.0 的元素,可以调用该方法:
```
List<Double> list = Arrays.asList(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0);
remove(list, 5.0);
```
删除后,列表将变为 [1.0, 2.0, 3.0, 4.0, 6.0, 7.0, 8.0, 9.0, 10.0]。
阅读全文