使用它会很好for (String item: list),但它只会迭代一个列表,而你需要一个显式的迭代器用于另一个列表.或者,您可以为两者使用显式迭代器.
以下是问题的示例,以及使用索引for循环的解决方案:
import java.util.*;
public class ListsToMap {
static public void main(String[] args) {
List<String> names = Arrays.asList("apple,orange,pear".split(","));
List<String> things = Arrays.asList("123,456,789".split(","));
Map<String,String> map = new LinkedHashMap<String,String>(); // ordered
for (int i=0; i<names.size(); i++) {
map.put(names.get(i), things.get(i)); // is there a clearer way?
}
System.out.println(map);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
{apple=123, orange=456, pear=789}
Run Code Online (Sandbox Code Playgroud)
有更清晰的方法吗?也许在某处的馆藏API?
我有两个数组如下:
k[] = {"K1","K2","K3"}
v[] = {"V1","V2","V3"}
Run Code Online (Sandbox Code Playgroud)
我想以这样的方式使用 Stream API 迭代这两个数组,以便我将它们作为 Map 收集
[K1=V1,K2=V2,K3=V3]
Run Code Online (Sandbox Code Playgroud)