Java 如何分配ArrayList hashmap<;字符串,双精度[]>;列出

Java 如何分配ArrayList hashmap<;字符串,双精度[]>;列出,java,Java,我试图将Double[]的Hashmap值分配给List,但它抛出了一个错误: “类型列表中的add(Double)方法不适用于参数 (双[])” ArrayList arl=(ArrayList)pd.getArrayList(); List empid=new ArrayList(); 迭代器itr=arl.Iterator(); while(itr.hasNext()){ HashMap=(HashMap)itr.next(); empid.add(map.get(“id”)); } 我

我试图将Double[]的Hashmap值分配给List,但它抛出了一个错误:

“类型列表中的add(Double)方法不适用于参数 (双[])”

ArrayList arl=(ArrayList)pd.getArrayList();
List empid=new ArrayList();
迭代器itr=arl.Iterator();
while(itr.hasNext()){
HashMap=(HashMap)itr.next();
empid.add(map.get(“id”));
}

我如何将
Double[]
转换为
Double.Request

我想你的问题比转换更大。您有一个双倍的
数组,最终需要一个
双倍的

这不是一个铸造问题,而是一个如何操作那些
双打的问题,只给你一个


也许您真正想要的是遍历该数组,然后依次将每个
Double
添加到列表中。但这确实是一个需求问题。

我认为您的问题比铸造更大。您有一个双倍的
数组,最终需要一个
双倍的

这不是一个铸造问题,而是一个如何操作那些
双打的问题,只给你一个


也许您真正想要的是遍历该数组,然后依次将每个
Double
添加到列表中。但这实际上是一个需求问题。

在您提供的代码中,您必须进行更改

List<Double> empid = new ArrayList<Double>();
List<Double> empid = new ArrayList<Double>();
List empid=new ArrayList();

List empid=new ArrayList();
让它编译。但我想这不是你想要达到的。这就是你想做的吗

        ArrayList<HashMap<String, Double[]>> arl = (ArrayList<HashMap<String, Double[]>>) pd.getArrayList();
        List<Double> empid = new ArrayList<Double>();
        Iterator itr = arl.iterator();
        while (itr.hasNext()) {
            HashMap<String, Double[]> map = (HashMap<String, Double[]>) itr.next();
            empid.addAll(Arrays.asList(map.get("id")));
        }
ArrayList arl=(ArrayList)pd.getArrayList();
List empid=new ArrayList();
迭代器itr=arl.Iterator();
while(itr.hasNext()){
HashMap=(HashMap)itr.next();
empid.addAll(Arrays.asList(map.get(“id”));
}

在您提供的代码中,您必须更改

List<Double> empid = new ArrayList<Double>();
List<Double> empid = new ArrayList<Double>();
List empid=new ArrayList();

List empid=new ArrayList();
让它编译。但我想这不是你想要达到的。这就是你想做的吗

        ArrayList<HashMap<String, Double[]>> arl = (ArrayList<HashMap<String, Double[]>>) pd.getArrayList();
        List<Double> empid = new ArrayList<Double>();
        Iterator itr = arl.iterator();
        while (itr.hasNext()) {
            HashMap<String, Double[]> map = (HashMap<String, Double[]>) itr.next();
            empid.addAll(Arrays.asList(map.get("id")));
        }
ArrayList arl=(ArrayList)pd.getArrayList();
List empid=new ArrayList();
迭代器itr=arl.Iterator();
while(itr.hasNext()){
HashMap=(HashMap)itr.next();
empid.addAll(Arrays.asList(map.get(“id”));
}

问题是
map.get(“id”)
将返回
Double[]
empid
的类型为
Double

你只要改变

List<Double> empid = new ArrayList<Double>();
List<Double> empid = new ArrayList<Double>();
List empid=new ArrayList();

List empid=new ArrayList();

问题是
map.get(“id”)
将返回
Double[]
empid
的类型为
Double

你只要改变

List<Double> empid = new ArrayList<Double>();
List<Double> empid = new ArrayList<Double>();
List empid=new ArrayList();

List empid=new ArrayList();

您试图在列表中插入一个Double类型的数组,其中元素是“single”Double

要在empid列表中插入数组,应按以下方式声明:

List<Double[]> empid = new ArrayList<Double[]>();
List empid=new ArrayList();

然后,当您在此列表上调用add时,可以传递Double[]类型的参数。

您试图在元素为“single”Double的列表中插入Double类型的数组

要在empid列表中插入数组,应按以下方式声明:

List<Double[]> empid = new ArrayList<Double[]>();
List empid=new ArrayList();

然后,当您在此列表上调用add时,可以传递Double[]类型的参数。

如果转换为
list
是您的唯一选项,请尝试以下操作:

ArrayList<HashMap<String, Double[]>> arl = (ArrayList<HashMap<String, Double[]>>) pd.getArrayList();

List<Double> empid = new ArrayList<Double>();
Iterator itr = arl.iterator();

while (itr.hasNext()) {
    HashMap<String, Double[]> map = (HashMap<String, Double[]>) itr.next();
    for (Double d : map.get("id") {
        empid.add(d);
    }

}
ArrayList arl=(ArrayList)pd.getArrayList();
List empid=new ArrayList();
迭代器itr=arl.Iterator();
while(itr.hasNext()){
HashMap=(HashMap)itr.next();
for(双d:map.get(“id”){
增加(d);
}
}

如果转换为
列表
是您的唯一选择,请尝试以下操作:

ArrayList<HashMap<String, Double[]>> arl = (ArrayList<HashMap<String, Double[]>>) pd.getArrayList();

List<Double> empid = new ArrayList<Double>();
Iterator itr = arl.iterator();

while (itr.hasNext()) {
    HashMap<String, Double[]> map = (HashMap<String, Double[]>) itr.next();
    for (Double d : map.get("id") {
        empid.add(d);
    }

}
ArrayList arl=(ArrayList)pd.getArrayList();
List empid=new ArrayList();
迭代器itr=arl.Iterator();
while(itr.hasNext()){
HashMap=(HashMap)itr.next();
for(双d:map.get(“id”){
增加(d);
}
}

您似乎看到的是这一行:

empid.add(map.get("id")));
改为:

empid.addAll(Arrays.asList(map.get("id"))));

它将
Double
的数组转换为
Double
列表,并且
addAll
将结果集合中的所有项目添加到目标集合
empid

,您似乎看到的是这一行:

empid.add(map.get("id")));
改为:

empid.addAll(Arrays.asList(map.get("id"))));

它会将
Double
数组转换为
List
Double
,并且
addAll
会将结果集合中的所有项目添加到目标集合
empid

感谢您的快速响应是的,您是对的,我正在尝试这样做,因为我正在使用此列表数据构建图表数据在android中使用achartengine,内置库接受列表类型。因此,我在将此数据转换为列表时遇到问题。感谢您的快速响应是的,您是对的,我正在尝试这样做,因为我在android中使用此列表数据使用achartengine构建图表数据,内置库接受列表类型。因此,我面临问题c正在将此数据转换为列表。Hi Yanf蚤感谢您的及时响应,是的,我最初是这样做的,但它正在为现有值的每个条目创建一个数组,我不希望发生这种情况,因为内置库访问android图表的achartengine中的列表类型。Hi Yanf蚤感谢您的及时响应,是的,我最初是这样做的,但这是crea为现有值的每个条目设置一个数组,我不希望发生这种情况,因为android图表的achartengine中的内置库accespts列表类型