2015-11-03 18 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()); 
    } 
相关问题