繁体   English   中英

Java For循环同时列出多个列表

[英]Java For Loop Multiple Lists Simultaneously

如果由我决定,我可以通过以下方式循环使用多个列表进行Java for循环:

for (String s1, s2, s3 : arrayOfString1, arrayOfString2, arrayOfString3)
  {
    System.out.println("arrayOfString1" + s1);
    System.out.println("arrayOfString2" + s2);
    System.out.println("arrayOfString3" + s3);
  }

可悲的是,这不取决于我,我将如何循环使用多个列表的for语句?

我猜您使所有数组的长度都相同。 使用索引的解决方案是:

for (int i=0;i<arrayOfString1.length();++i) {
    System.out.println("arrayOfString1" + arrayOfString1.get(i));
    System.out.println("arrayOfString2" + arrayOfString2.get(i));
    System.out.println("arrayOfString3" + arrayOfString3.get(i));
}

如果要使用迭代器,请执行以下操作:(例如,我仅打印两个数组。)

for(Iterator<int> i1=arr1.iterator(),i2=arr2.iterator();i1.hasNext();){
    int val1= i1.next();
    int val2= i2.next();
}

对于不同大小的列表,请尝试以下操作:

int len = arrayOfString1.size();
len = Math.max(len, arrayOfString2.size());
len = Math.max(len, arrayOfString3.size());
for (int i = 0; i < len; i++) {
    if (i < arrayOfString1.size()) System.out.println("arrayOfString1" + arrayOfString1.get(i));
    if (i < arrayOfString2.size()) System.out.println("arrayOfString2" + arrayOfString2.get(i));
    if (i < arrayOfString3.size()) System.out.println("arrayOfString3" + arrayOfString3.get(i));
}

如果您使用数组,则不列出:

int len = arrayOfString1.length;
len = Math.max(len, arrayOfString2.length);
len = Math.max(len, arrayOfString3.length);
for (int i = 0; i < len; i++) {
    if (i < arrayOfString1.length) System.out.println("arrayOfString1" + arrayOfString1[i]);
    if (i < arrayOfString2.length) System.out.println("arrayOfString2" + arrayOfString2[i]);
    if (i < arrayOfString3.length) System.out.println("arrayOfString3" + arrayOfString3[i]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM