java list删除多个元素
时间: 2023-08-11 17:04:59 浏览: 118
在 Java 中,可以使用 List 接口提供的 removeIf() 方法删除符合指定条件的多个元素。该方法接受一个 Predicate 参数,该参数是一个函数式接口,用于指定要删除的元素的条件。
例如,如果要从一个 List 中删除所有小于 5 的元素,可以使用以下代码:
```
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9));
list.removeIf(i -> i < 5);
```
这将从列表中删除所有小于 5 的元素。注意,removeIf() 方法在原始列表上进行操作,并返回一个布尔值,指示是否已更改列表。
如果要删除指定索引处的多个元素,可以使用 List 接口提供的 subList() 和 removeAll() 方法。subList() 方法返回一个包含指定起始索引(包括)和结束索引(不包括)之间所有元素的子列表,然后可以使用 removeAll() 方法删除该子列表中的所有元素。
例如,如果要从一个 List 中删除索引为 2、4、6 的元素,可以使用以下代码:
```
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9));
List<Integer> indexes = Arrays.asList(2, 4, 6);
List<Integer> sublist = list.subList(indexes.get(0), indexes.get(indexes.size() - 1) + 1);
list.removeAll(sublist);
```
这将从列表中删除索引为 2、4、6 的元素。注意,subList() 方法返回的子列表是原始列表的一个视图,而不是复制。因此,在更改子列表之前,必须确保未修改原始列表。
阅读全文