java自动生成递增的序号

在编码时,遍历List循环进行赋值操作,我用下标 i + 1的方式进行序号的生成,但是我在循环中有条件,不符合规则的集合数据就不会进行赋值,所以导致下标0的数据不符合,不做任何操作跳过,然后循环自动遍历下标1的数据时如果符合,序号就是1+1,所以第一条的数据的序号就不是从1开始而是从2开始了,以此类推,后面的序号也会混乱,有什么办法可以解决,或者有其他办法可以生成序号吗?

下面时示例代码:

img

很简单啊,在外面在加一个变量,如用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++;
            }
        }

```