Вы можете использовать IntStream
, чтобы сделать это.Используйте целочисленное значение в качестве ключа, а соответствующее значение в строковом массиве с этим индексом в качестве значения карты.
Map<Integer, String> counterToStr = IntStream.range(0, strings.length)
.boxed()
.collect(Collectors.toMap(Function.identity(), i -> strings[i]));
Другой альтернативой, которая устраняет необходимость split
, будет
Map<Integer, String> counterToStr = IntStream.range(0, strings.length)
.boxed()
.collect(Collectors.toMap(Function.identity(), i -> str.charAt(i) + ""));