Как отобразить двумерный массив в HashMap, используя первое измерение в качестве ключей с потоком - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно отобразить двумерный массив

String [][] values = {{key1, key2,...}, {value1, value2,...}}

в HashMap<String, String>.

Я пытался использовать поток Arrays.stream(values).collect(Collectors.toMap(key -> key[0], value -> value[1])

Я получил key1=key2, value1=value2.Мне нужно key1=value1, key2=value2

Есть ли какое-нибудь решение, использующее поток для этого подхода?

1 Ответ

0 голосов
/ 25 октября 2018

попробуйте использовать это:

 HashMap<String,String> map = 
        new HashMap<String, String>(IntStream
                                    .range(0,values[0].length)
                                    .boxed()
                                    .collect(Collectors.
                                             toMap(i -> values[0][i], i -> values[1][i])));
...