Java 如何将LinkedHashMap值存储到双类型数组中
我想将Java 如何将LinkedHashMap值存储到双类型数组中,java,linkedhashmap,Java,Linkedhashmap,我想将LinkedHashMap值存储到doubletypearray中。怎么做 我试过这样做 Double[] avg= (Double[]) averageMap.values().toArray(); 其中averageMap为: LinkedHashMap<String, Double> averageMap = new LinkedHashMap<String, Double>(); toArray函数可能有点复杂。它返回一个对象[],该对象不能转换为D
LinkedHashMap
值存储到double
typearray
中。怎么做
我试过这样做
Double[] avg= (Double[]) averageMap.values().toArray();
其中averageMap
为:
LinkedHashMap<String, Double> averageMap = new LinkedHashMap<String, Double>();
toArray
函数可能有点复杂。它返回一个对象[]
,该对象不能转换为Double[]
。您必须改用此代码段:
Collection<Double> values = averageMap.values();
Double[] avg = values.toArray(new Double[values.size()]);
Collection values=averageMap.values();
Double[]avg=values.toArray(新的Double[values.size()]);
下面的代码适合您,但还不够好
Object[] objArray = averageMap.values().toArray();
double[] dblArray = new double[objArray.length];
for (int i = 0; i < objArray.length; i++) {
dblArray[i] = Double.parseDouble(objArray[i].toString());
}
Object[]objArray=averageMap.values().toArray();
double[]dblArray=新的double[objArray.length];
for(int i=0;i
averageMap.values().toArray()代码>方法返回对象[],因此必须将其强制转换为Double或将其PAR转换为Double[]
但是将其解析为double并不是一个好的实践,而不是double使用double类
自动完成,无需担心好的,有什么问题吗?@sᴜʀᴇsʜᴀᴛᴛᴀ 当我执行上述操作时,出现以下错误:-java.lang.ClassCastException:[Ljava.lang.Object;无法转换为[Ljava.lang.Double;您是否尝试了现有的答案?我必须最终将LinkedHaspMap的值存储到数组的Double类型中,即基元类型,因为此值将进一步用于ChartDirector.XYChart方法,该方法采用基元类型参数。然后尝试此方法,这对您很有用
Object[] objArray = averageMap.values().toArray();
double[] dblArray = new double[objArray.length];
for (int i = 0; i < objArray.length; i++) {
dblArray[i] = Double.parseDouble(objArray[i].toString());
}