Java 使用循环向具有不同名称的数组添加元素

Java 使用循环向具有不同名称的数组添加元素,java,arrays,loops,hashmap,Java,Arrays,Loops,Hashmap,我有以下数组列表 ArrayList<HashMap<Integer, Integer>> RP1 = new ArrayList<HashMap<Integer, Integer>>(); ArrayList<HashMap<Integer, Integer>> RP2 = new ArrayList<HashMap<Integer, Integer>(); 我想向循环中的每个ArrayList添加一个

我有以下数组列表

ArrayList<HashMap<Integer, Integer>> RP1 = new ArrayList<HashMap<Integer, Integer>>();
ArrayList<HashMap<Integer, Integer>> RP2 = new ArrayList<HashMap<Integer, Integer>();
我想向循环中的每个ArrayList添加一个HashMap。目前我正在添加它们,如下所示:

RP1.add(new HashMap<Integer, Integer>());
RP1.add(new HashMap<Integer, Integer>());
RP2.add(new HashMap<Integer, Integer>());
RP2.add(new HashMap<Integer, Integer>());

有没有办法用for循环实现这一点?我目前的方法似乎效率低下

就效率而言,像您发布的那样展开的循环比任何循环构造都要快。如果你对简洁性感兴趣,并且有两个以上的变量,你可以考虑声明一个列表的列表,而不是单独的变量。我还建议您将所有变量声明为接口类型[例如,列表],而不是实现类型[ArrayList]:


如果您确实需要按名称访问每个列表,但仍然希望消除单个变量,那么请将外部结构声明为映射尝试类似的操作。没有测试它

example(RP1,RP2); 
/* or example(RP1,RP1,RP2,RP2) */


public static void example(ArrayList<HashMap<Integer, Integer>> ... arrays){

      for (int i = 0; i < arrays.length; i++)
           arrays[i].add(new HashMap<Integer, Integer>());
}

更多信息:

等等,你为什么要这样做?如果你添加的HashMap是空的,那么效率会很低,我会尝试一下,然后回复你。
example(RP1,RP2); 
/* or example(RP1,RP1,RP2,RP2) */


public static void example(ArrayList<HashMap<Integer, Integer>> ... arrays){

      for (int i = 0; i < arrays.length; i++)
           arrays[i].add(new HashMap<Integer, Integer>());
}