2011-05-27 143 views
3

List<BeanMap>轉換爲List <HashMap<String,String>>最簡單和最有效的方法是什麼?BeanMap到HashMap的轉換?

的BeanMap是基於與2場的底層POJO:1串,1日

+0

你想要地圖映射什麼,即什麼是關鍵和價值? – Boro 2011-05-27 17:15:16

+0

K = Bean的字段名稱,V = bean中字段的值。所以基本上它是從1張地圖複製到其他 – Victor 2011-05-27 17:23:20

回答

3

BeanMap實現Map<String, Object>,所以你也可以把它看作。

List<BeanMap> beanMaps = getItSomehow(); 
List<Map<String, String>> maps = new ArrayList<Map<String, String>>(); 

for (BeanMap beanMap : beanMaps) { 
    Map<String, String> map = new HashMap<String, String>(); 

    for (Object o : beanMap.entrySet()) { // It's not parameterized :(
     Map.Entry<String, Object> entry = (Map.Entry<String, Object>) o; 
     String key = entry.getKey(); 
     Object value = entry.getValue(); 
     map.put(key, value != null ? String.valueOf(value) : null); 
    } 

    maps.add(map); 
} 

// ... 
+0

+1 @BalusC就是這樣。做得好。 – Boro 2011-05-27 21:34:50