protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>();routeList.add(list); 判断routelist中是否包含某个list 避免重复添加同样的数据
时间: 2024-02-27 21:51:27 浏览: 16
为了避免重复添加同样的数据,可以在添加数据之前先判断`routeList`中是否已经包含了该`list`。如果已经包含了,就不再添加。具体代码如下:
```
if (!routeList.contains(list)) {
routeList.add(list);
}
```
在这段代码中,使用了`contains`方法来判断`routeList`中是否已经包含了`list`。如果没有包含,就执行`routeList.add(list)`将`list`添加到`routeList`中。如果已经包含,就不执行添加操作。这样就可以避免重复添加相同的数据了。
相关问题
protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>();routeList.add(list); 判断routelist中是否包含某个list
要判断`routeList`中是否包含某个`list`,可以使用`contains`方法。具体代码如下:
```
boolean containsList = routeList.contains(list);
```
其中,`containsList`是一个布尔类型的变量,如果`routeList`中包含`list`,则为`true`,否则为`false`。
protected List<List<BNRoutePlanNode>> routeList = new ArrayList<>(); 帮我把这个list设置成只能添加3次
可以通过继承 `ArrayList` 类并重写 `add` 方法来实现:
```java
public class LimitedArrayList<E> extends ArrayList<E> {
private int limit;
public LimitedArrayList(int limit) {
super();
this.limit = limit;
}
@Override
public boolean add(E e) {
if (size() >= limit) {
throw new UnsupportedOperationException("Exceeded size limit");
}
return super.add(e);
}
}
```
然后在代码中创建 LimitedArrayList 实例,并将其作为 routeList 的类型:
```java
protected List<LimitedArrayList<BNRoutePlanNode>> routeList = new ArrayList<>();
routeList.add(new LimitedArrayList<>(3));
routeList.add(new LimitedArrayList<>(3));
routeList.add(new LimitedArrayList<>(3));
```
这样每个 `routeList` 中的 `LimitedArrayList` 对象都只能添加 3 次元素,超过限制时会抛出 UnsupportedOperationException 异常。