将两个列表合并到一个映射中的最佳方法是什么(Java)?
2022-08-31 11:49:48
使用 会很好,但它只会循环访问一个列表,并且您需要另一个列表的显式迭代器。或者,您可以对两者都使用显式迭代器。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的某个地方?