Используйте Collectors.toMap
для Stream<Integer>
индексов List
:
Map<Integer,String> listMap =
IntStream.range(0,lists.size())
.boxed()
.collect(Collectors.toMap(Function.identity(),
lists::get,
(a,b)->a,
LinkedHashMap::new));
PS, выход Map
равен Map<Integer,String>
, что соответствует циклу for в вашемвопрос (в отличие от указанного Map<Integer,List<String>>
, который не отвечает, если вы не измените ввод List
с List<String>
на List<List<String>>
).