为了账号安全,请及时绑定邮箱和手机立即绑定

从arraylist调用方法读取的每个循环的Java

从arraylist调用方法读取的每个循环的Java

交互式爱情 2021-08-19 13:41:03
这是每个数组列表,并在每个列表中读取并进行更改以存储在每个列表中我试图从单独的数组列表中读取以遍历它们并在最后将每次迭代用作方法调用中的参数。但是,它在第一级(字段)的每次迭代中进行调用,然后在第二级(setter)进行调用,依此类推。我需要找到一种方法让它们迭代并获取数组列表大小的方法的每个参数的正确索引。当前,如果每个列表中有 3 个项目,则第一个 for 循环将遍历方法调用中的所有 3 个项目,然后再进入第二个循环。因此,我将迭代第一个列表,而其他 3 个则不会。然后,第一个将保持不变,第二个参数(列表)将迭代。示例输出当前,红色下划线是其他更改应该发生的地方我希望将每个数组中的每个项目一起调用,一次全部在索引 0 处,然后全部在索引 1 处,依此类推。这会给我一个理想的输出,它从文本文件中读取字段列表,并生成单元测试以节省时间。    for (int counter = 0; counter < fields.size(); counter++) {  String field = fields.get(counter);    for (int iterator = 0; iterator < setters.size(); iterator++) {      String setter = setters.get(iterator);        for (int tickah = 0; tickah < methodName.size(); tickah++) {          String updatedMethodName = methodName.get(tickah);            for (int wicked = 0; wicked < fields.size(); wicked++) {              String updatedFieldNames = updatedFieldName.get(wicked);              creatingMethod(updatedMethodName, updatedFieldNames, field, setter);      }  }}
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

我在这里可能是错的......但基于你的评论:


是的,对不起。所以我在最后使用这些参数调用了该方法,并且我想从相应的 arrayList 中读取每个项目以用作方法调用中的参数。因此,第一次调用时每个索引为 0,第二次调用时索引为 1,依此类推。这有帮助吗?


听起来您要么想使用单个循环并在每个数组列表上重新使用计数器:


for (int i = 0; i < fields.size(); i++) {

    String field = fields.get(i);

    String setter = setters.get(i);

    String updatedMethodName = methodName.get(i);

    String updatedFieldNames = updatedFieldName.get(i);

    creatingMethod(updatedMethodName, updatedFieldNames, field, setter);

}

或者,可能听起来您可能想要做更多的笛卡尔积,在其中完全循环每个单独的列表……在这种情况下,您应该每次都使用每个列表的大小而不是 fields.size()。


for (int counter = 0; counter < fields.size(); counter++) {

    String field = fields.get(counter);

    for (int iterator = 0; iterator < setters.size(); iterator++) {

        String setter = setters.get(iterator);

        for (int tickah = 0; tickah < methodName.size(); tickah++) {

            String updatedMethodName = methodName.get(tickah);

            for (int wicked = 0; wicked < updatedFieldName.size(); wicked++) {

                String updatedFieldNames = updatedFieldName.get(wicked);

                creatingMethod(updatedMethodName, updatedFieldNames, field, setter);

            }

        }

    }

}


查看完整回答
反对 回复 2021-08-19
  • 1 回答
  • 0 关注
  • 184 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信