protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>(); 怎么查询这个集合中包含了“西二旗”这个数据并删除
时间: 2023-08-16 09:09:39 浏览: 47
您可以使用以下代码查询集合中是否包含“西二旗”这个数据并删除:
```
for (int i = 0; i < routeList.size(); i++) {
List<BNRoutePlanNode> route = routeList.get(i);
for (int j = 0; j < route.size(); j++) {
BNRoutePlanNode node = route.get(j);
if (node.getName().equals("西二旗")) {
route.remove(j);
if (route.isEmpty()) {
routeList.remove(i);
}
break;
}
}
}
```
其中,`routeList`是您要查询的集合,`getName()`方法是获取`BNRoutePlanNode`中的名称属性。如果集合中包含“西二旗”这个数据,则会将其删除。注意,如果删除某个节点后,其所在的路径(List)为空,则也需要将其从`routeList`中删除。
相关问题
protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>(); 怎么查询这个集合中包含了“西二旗”这个数据
您可以使用以下代码查询集合中是否包含“西二旗”这个数据:
```
boolean contains = false;
for (List<BNRoutePlanNode> route : routeList) {
for (BNRoutePlanNode node : route) {
if (node.getName().equals("西二旗")) {
contains = true;
break;
}
}
if (contains) {
break;
}
}
```
其中,`routeList`是您要查询的集合,`getName()`方法是获取`BNRoutePlanNode`中的名称属性。如果集合中包含“西二旗”这个数据,`contains`会被设置为`true`。
protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>(); 获取子列表的list
你可以使用 `get(int index)` 方法来获取 `routeList` 中指定位置的子列表。例如,获取第一个子列表可以使用以下代码:
```
List<BNRoutePlanNode> firstSubList = routeList.get(0);
```
如果你想遍历 `routeList` 中所有的子列表,可以使用以下代码:
```
for (List<BNRoutePlanNode> subList : routeList) {
// 对每一个子列表进行操作
}
```
在上述代码中,`for` 循环会遍历 `routeList` 中的所有子列表,并将每一个子列表赋值给变量 `subList`,你可以在循环体内对 `subList` 进行操作。