如何使用Java中的流从两个数组中创建映射?

Jac*_*ari 5 java java-stream

说我有两个数组 Double

Double[] a = new Double[]{1.,2.,3.};
Double[] b = new Double[]{10.,20.,30.};
Run Code Online (Sandbox Code Playgroud)

使用Java流,如何创建Map<Double,Double> myCombinedMap;将两个数组结合在一起的map(),例如,通过以下方式:

System.out.println(myCombinedMap);
{1.0=10.0, 2.0=20.0, 3.0=30.0}
Run Code Online (Sandbox Code Playgroud)

我猜想在寻找类似于带Java流的Python zip的东西,还是一种优雅的解决方法。

我觉得从这个问题的不同一个(指出了可能重复的),因为在Java8流为中心,这是尚未公布在可能重复的问题被问的时间。

Ous*_* D. 6

使用IntStream并收集到地图:

IntStream.range(0, a.length)
         .boxed()
         .collect(toMap(i -> a[i], i -> b[i]));
Run Code Online (Sandbox Code Playgroud)