protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>(); if (keyWord != null) { routeList.removeIf(node -> node.get(0).getName().equals(keyWord)); }帮我写一下如果这个集合中有包含keyWord的数据就给它删除,如果没有就提示
时间: 2024-02-27 08:53:07 浏览: 83
滑动删除Listview中的数据
可以使用Java 8的Stream API和Lambda表达式来实现这个功能。代码如下:
```
if (keyWord != null) {
// 使用Stream API过滤并删除包含关键字的数据
boolean removed = routeList.removeIf(node -> node.get(0).getName().contains(keyWord));
// 如果没有数据被删除,则提示
if (!removed) {
System.out.println("The list does not contain any data with the keyword.");
}
}
```
解释一下上面的代码:
- `removeIf()` 方法使用传递的 Lambda 表达式对集合中的每个元素进行过滤,并删除符合条件的元素。在这里,我们使用 `node.get(0).getName().contains(keyWord)` 来判断是否包含关键字。
- `removeIf()` 方法返回一个布尔值,表示是否有元素被删除。如果没有数据被删除,则说明集合中没有包含关键字的数据,需要提示用户。
阅读全文