Было бы неплохо использовать 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-интерфейсах коллекций?