Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将LinkedHashMap值存储到双类型数组中_Java_Linkedhashmap - Fatal编程技术网

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
type
array
中。怎么做

我试过这样做

 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());
        }