如何在每次循环后更改变量。我需要声明的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);
}
}
}
有没有一种简单的方法可以在没有几十行代码的情况下做到这一点?
答案 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})