如何在循环的每次迭代中更改变量(Java)

时间:2013-05-20 22:40:41

标签: java variables loops char int

如何在每次循环后更改变量。我需要声明的arraylist变量去代码标记为“HERE”。

//variables i need to cycle through
static ArrayList<Integer> one1,two1,one2,two2=new ArrayList<>();

for(int i=0;i<4;i++){
  for(int j=0;j<word1[i].length();j++){
    if (word1[i].charAt(j)=='-'){
      HERE.add(j);
    } else if (word1[i].charAt(j)!='-') {
      HERE.add(null);
    }
  }
}

有没有一种简单的方法可以在没有几十行代码的情况下做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以创建自己的here方法,为您添加多个列表:

package com.sandbox;

import java.util.ArrayList;
import java.util.List;

public class Sandbox {


    public static void main(String[] args) {
        List<Integer> l1 = new ArrayList<Integer>();
        List<Integer> l2 = new ArrayList<Integer>();
        List<Integer> l3 = new ArrayList<Integer>();
        here(1, l1, l2, l3);
    }

    public static void here(Integer integer, List<Integer>... lists) {
        for (List<Integer> list : lists) {
            list.add(integer);
        }
    }

}

...被称为varargs和you can learn more about it here.每当您在当前代码中HERE.add时,只需调用此代码:here(j, one1, two1, one2, two2)

但我认为你可能在这里做错了。你为什么要这样做?

答案 1 :(得分:1)

将您的列表放入数组中。

for(List<Integer> HERE: new List<Integer>[]{ one1,two1,one2,two2})