我可以在 Java 中同时迭代两个数组吗?

Tom*_*Tom 1 java arrays

对于一个数组,我可以这样迭代:

for(String str:myStringArray){

}
Run Code Online (Sandbox Code Playgroud)

如何同时迭代两个数组?因为我确信这两个的长度是相等的。我想要如下所示:

for(String attr,attrValue:attrs,attrsValue) {

}
Run Code Online (Sandbox Code Playgroud)

但这是错误的。

在这种情况下,也许映射是一个不错的选择,但是 3 个等长数组怎么样?我只是讨厌创建索引“int i”,它按以下格式使用:

for(int i=0;i<length;i++){
}
Run Code Online (Sandbox Code Playgroud)

Bee*_*ope 5

您无法使用 foreach 语法执行您想要的操作,但可以使用显式索引来实现相同的效果。仅当数组长度相同时才有意义(或者您使用其他规则,例如仅迭代到较短数组的末尾):

这是检查数组长度是否相同的变体:

assert(attrs.length == attrsValue.length);
for (int i=0; i<attrs.length; i++) {
   String attr = attrs[i];
   String attrValue = attrsValue[i];
   ...
}
Run Code Online (Sandbox Code Playgroud)