我有一个HashMap,其中Key是一个整数,值是一个double的数组,即
HashMap<Integer, double[]> map = new HashMap<>();
如何更改double数组中特定索引的值?
这样做的一种方法是获取所需键的双数组,将其复制到临时数组,修改临时数组中所需的索引,然后将数组放入映射中,对于相同的键即,
double temp [] = map.get(i);
temp [10] = 3.142;
map.put(I,温度);
但是,必须有更好的实施,对吗?
答案 0 :(得分:2)
这里有一种误解。你的答案几乎是正确答案,但它比你想象的要好。 double[] temp = map.get(i)
不制作副本:它会将引用返回到同一个数组。所以
double[] temp = map.get(i);
temp[j] = 42.0;
做你想做的事。
答案 1 :(得分:1)
这应该可以解决问题......除非你的问题描述中有一些我误解了:
HashMap map = new HashMap<Integer, double[]>();
...
doubles = map.get(i);
doubles[j] = 42.0;