如何使用一维作为流键将二维数组映射到HashMap

时间:2018-10-25 10:37:15

标签: java arrays hashmap java-stream

我需要映射二维数组

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 :(得分:3)

尝试使用:

 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])));