[英]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.