java hashmap如何转换为list <string,double =“”>?</string,>

时间:2014-07-09 12:58:34

标签: java list arraylist hashmap

我想转换变量地图

HashMap<String, Double> map = new HashMap<String, Double>();
List<Pay>

中的

List<Pay> res = new ArrayList<Pay>();

,其中POJO Pay包含变量StringDouble。 我如何从HashMap<String, Double>转换为List<Pay> ???

2 个答案:

答案 0 :(得分:0)

以下是代码示例 - 首先使用其键读取hashmap并将键和值设置为Pay类变量,然后将所有Pay对象保存在列表中。

    public static void main (String[] args){

    HashMap<String, Double> map = new HashMap<String, Double>();
    map.put("A",5.0);

    Pay pay=new Pay();

    List<Pay> res = new ArrayList<Pay>();

    for(String key:map.keySet()){
        System.out.println(key);
        pay.setName(key);
        pay.setAmount(Double.parseDouble(map.get(key).toString()));

        res.add(pay);
    }

    System.out.println(res);

}


class Pay{

private String name;
private double amount;

public void setName(String key) {

    this.name=key;
}

public void setAmount(double value) {

    this.amount=value;
}

 public double getAmount() {
    return amount;
}


 public String getName() {
    return name;
}

@Override
public String toString() {
    return "Pay [name=" + name + ", amount=" + amount + "]";
}



}

输出:

[Pay [name=A, amount=5.0]]

答案 1 :(得分:0)

我想使用这样的东西:

for (Map.Entry<String, Double> entry : map.entrySet())
{
    res.add(new Pay(entry.getKey(), entry.getValue));
}

首先,从HashMap中获取一组Entry-Objects。然后迭代这个Set,从每个Entry中提取键和值,使用它们创建Pay对象并将它们放在最后的ArrayList中。