在编码时,遍历List循环进行赋值操作,我用下标 i + 1的方式进行序号的生成,但是我在循环中有条件,不符合规则的集合数据就不会进行赋值,所以导致下标0的数据不符合,不做任何操作跳过,然后循环自动遍历下标1的数据时如果符合,序号就是1+1,所以第一条的数据的序号就不是从1开始而是从2开始了,以此类推,后面的序号也会混乱,有什么办法可以解决,或者有其他办法可以生成序号吗?
下面时示例代码:
很简单啊,在外面在加一个变量,如用index。if(true) {index ++;}
看了半天终于看懂了,你想要的效果是设置从1开始的自增的序号,可以使用 AtomicInteger 或者在 for 循环外部使用一个整型变量表示序号,每次加一后再赋值。
用 AtomicInteger 代码如下。
AtomicInteger no = new AtomicInteger(0);
List<String> a = new ArrayList<>();
for (String data : a) {
if(data.getData() == 0){
xx.setNumber(no.incrementAndGet());
}
}
用整型代码如下。
int no = 0;
List<String> a = new ArrayList<>();
for (String data : a) {
if (data.getData() == 0) {
xx.setNumber(++no);
}
}
```java
List<String> a = new ArrayList<>();
int num = 1;//序号
for(int i=0;i<a.size();i++) {
String data = a.get(i);
if(data.getStatus() == 0) {
xx.setNumber(num);
num++;
}
}
```