Il serait bon d'utiliser for (String item: list)
, mais il ne sera itéré qu'à travers une liste, et vous auriez besoin d'un itérateur explicite pour l'autre liste. Ou, vous pourriez utiliser un itérateur explicite pour les deux.
Voici un exemple du problème, et une solution utilisant une boucle indexée for
la place :
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);
}
}
Sortie :
{apple=123, orange=456, pear=789}
Y a-t-il un moyen plus clair ? Peut-être dans les collections API quelque part ?