2014-07-09 52 views
-4

我想轉換變圖java hashmap如何轉換爲列表<String,Double>?

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

List<Pay>

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

,其中POJO Pay有變量StringDouble。 我如何從HashMap<String, Double>轉換爲List<Pay> ???

+0

循環顯示地圖的鍵和值,並創建Pay對象。你有什麼嘗試? –

+0

郵政'付款'。我們如何幫助你沒有? –

+0

我在這裏聞到Java 8解決方案.. – christopher

回答

0

我想用這樣的:

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

首先你得到一組輸入對象的出你的HashMap的。然後你遍歷這個Set,從每個Entry中提取關鍵字和值,使用它們來創建Pay對象,並在最後將它們放置在ArrayList中。

+0

謝謝!我也寫道,但replaceresult.add(新的PayForBank(entry.getKey(),entry.getValue()));寫入result.add(entry.getKey(),entry.getValue()); – dumko

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]] 
相關問題