我想转换变量地图
HashMap<String, Double> map = new HashMap<String, Double>();
List<Pay>
中的
List<Pay> res = new ArrayList<Pay>();
,其中POJO Pay
包含变量String
和Double
。
我如何从HashMap<String, Double>
转换为List<Pay>
???
答案 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中。