list转换成MAP 求各位大神啊!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list转换成MAP 求各位大神啊!!!相关的知识,希望对你有一定的参考价值。

@Bind(id = "usersDataGrids", attribute = "dataProvider")
protected GridDataProvider getDataProvider()
return new GridDataProvider()
@Override
public Object[] getElements()
// if (usersConditionMap != null && usersConditionMap.size() >
// 0)
try

/**把这转成map咋弄啊!!!**/ return usersRoleRelationService.findRole(usersConditionMap, start, 20).toArray();
catch (BusinessException exception)
return new Object[] ;

//

调的方法是:
@Override
public List findRole(Map conditionMap, int first, int pageSize)

List list = getHibernateDao().find("from UsersRoleRelation ur join fetch ur.users join fetch ur.role ", null, first,
pageSize);

return list;

List和Map是完全不同的两个数据结构,怎么直接转化啊,简单地说:List的结构是:
List[ object1, object2, object3,....]
而Map的结构是:
Map[ <key1,object1>,<key2,object2>,<key3,object3>,.....]
List就是保存了一组object,而Map不光保存object,还给每个object添加了一个唯一的Key用来寻找这个object。所以才有数据结构:List<Object> 和 Map<Key,Object>;
你这里想要返回map,
需要把这段代码修改了:
return usersRoleRelationService.findRole(usersConditionMap, start, 20).toArray();
catch (BusinessException exception)
return new Object[] ;

修改成先遍历list,生成map,然后return;
Object[] objs=usersRoleRelationService.findRole(usersConditionMap, start, 20).toArray();
Map returnMap=new HashMap();
for(Object obj : objs)
Object key=....; //这里的key是你用来查找相应object的key,可以使Integer,Double等,也可以是任意一个object,key是唯一的。
returnMap.put(key,obj);

return returnMap;
catch (BusinessException exception)
return null;


还有,你的方法是返回GridDataProvider 这样一个东西,你返回map肯定不对啥。
参考技术A 简单说:比如你的List是一个SQL语句得来的如select ID as id,NAME as name .... from Table_1 where Table_1.ID=?? 的话 返回的是一个List ;List a=new ArrayList();
你可以
List a;
Iterator it = a.iterator();
while(it.hasNext())
Map map = (Map) it.next();
String n=(String)map.get("name");//取出NAME了
这样 List中的值 可以放到Map里,可以用循环的方法取出值,如上面注释部分,写的可能不太清楚
参考技术B jxkhd
682
参考技术C guw
213

以上是关于list转换成MAP 求各位大神啊!!!的主要内容,如果未能解决你的问题,请参考以下文章

java,list数组转换成map

怎么把Map类型强制转换成List类型??

怎么办map形转换成list

java map对象转换成list

java list map转换成二维数组

java中set怎么转换成list