添加到地图时如何将双数组装箱到双数组?
How to box double array to Double array when adding to Map?
我要补一个HashMap<Integer,Double[]>
Map<Integer,Double[]> cached_weights = new HashMap<Integer,Double[]>();
只有常规 int
和 double[]
,最好的方法是什么?
我看到了 this question,但它回答了相反的问题。
对于key(Integer),编译器会自动为你处理,你可以直接传递一个int值。
对于布尔数组,你可以这样处理 Java 8
Map<Integer, Double[]> foo = new HashMap<Integer, Double[]>();
double[] bar = new double[10];
//As you can see, 1 is passed directly and will be converted to Integer object.
foo.put(1, Arrays.stream(bar)
.boxed()
.toArray(Double[]::new));
DoubleStream 的 boxed
方法 returns 由该流的元素组成的 Stream,装箱到 Double。
然后你会得到一个 Stream,你可以在上面轻松调用 toArray
以转换为 Double[]
。
我要补一个HashMap<Integer,Double[]>
Map<Integer,Double[]> cached_weights = new HashMap<Integer,Double[]>();
只有常规 int
和 double[]
,最好的方法是什么?
我看到了 this question,但它回答了相反的问题。
对于key(Integer),编译器会自动为你处理,你可以直接传递一个int值。
对于布尔数组,你可以这样处理 Java 8
Map<Integer, Double[]> foo = new HashMap<Integer, Double[]>();
double[] bar = new double[10];
//As you can see, 1 is passed directly and will be converted to Integer object.
foo.put(1, Arrays.stream(bar)
.boxed()
.toArray(Double[]::new));
DoubleStream 的 boxed
方法 returns 由该流的元素组成的 Stream,装箱到 Double。
然后你会得到一个 Stream,你可以在上面轻松调用 toArray
以转换为 Double[]
。