2015-11-03 24 views
1

我想從hashMap所有瓦萊斯分配給myObject如何從一個HashMap直接設置對象字段的Android

Map <String, Object> hashMap; 

UserdefinedClass myObject; 

是否有任何庫或直接的方法可用?

+0

遍歷整個地圖並獲取值 –

+0

感謝您的快速重播:),但我正在尋找一個庫或直接的方法。 – Sanal

+0

你不需要這個庫。如果它是一個巨大的列表,你可以使用映射器。 – Ritesh

回答

0

第1步:將值添加到對象(實體類)。 第2步:將對象添加到Hashmap中作爲值wrt鍵。 第3步:從HasMap獲取對象並使用迭代器迭代值。

Iterator iterator = meMap.keySet().iterator(); 
while(iterator.hasNext()) { 
String key=(String)iterator.next(); 
String value=(String)meMap.get(key); 
} 

隨便問任何查詢。

+0

如果Hashmap在LinkedHashMap結構中,該怎麼辦? – Sanal

+0

因此,您需要迭代LinkedHashMap以獲取Hashmap,迭代Hashmap以獲取Object。如果您可以分享代碼片段,請留下餘地,以便給出適當的答案。 –

0

您可以循環在哈希表,然後做你想做...

Iterator<Entry<String,Object>> iterator = hashMap.entrySet().iterator(); 

     while(iterator.hasNext()){ 

      set = iterator.next(); 
      Object val = set.getValue(); 

     } 
0

這Let'assume您的Hashmap

Map <String, Object> hashMap = new HashMap<String,Object>(); 

而這正是你想要你的類對象從哈希映射中分配值。

List<UserdefinedClass> myObject = new ArrayList<UserdefinedClass>(); 

現在,您需要遍歷hashmap並獲取值,然後將其轉換並存儲到myObject列表中。

Iterator it = hashMap.entrySet().iterator(); 
while (it.hasNext()) { 
     Map.Entry pair = (Map.Entry)it.next(); 
     myObject.add((UserdefinedClass)pair.getValue()); 
    } 
相關問題