最佳答案
如果使用 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);
}
}
产出:
{apple=123, orange=456, pear=789}
有没有更清晰的方法? 也许在集合 API 的某个地方?