首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

基础知识引起的很纠结的有关问题

2012-12-25 
基础知识引起的很纠结的问题@SuppressWarnings(unchecked)public static List getList(String orgId, St

基础知识引起的很纠结的问题

@SuppressWarnings("unchecked")public static List getList(String orgId, String userId,List child) { if (null == child || child.isEmpty()) return null; String[] list = getList(orgId, userId); List order = new ArrayList(); Map temp = new HashMap(); for (int j = 0; j < child.size(); j++) { EA_SimpleObject so = (EA_SimpleObject) child.get(j); temp.put(so.getKey(), so); } if (null != list && list.length > 0) { for (int i = 0; i < list.length; i++) { if (null != temp.get(list[i])) { order.add(temp.remove(list[i])); } } } Iterator itOrg = temp.keySet().iterator(); while (itOrg.hasNext()) order.add(temp.get(itOrg.next())); return order;}

将集合数据放到Map中,根据方法内得到的数组数据,如果符合则会执行order.add(temp.remove(list[i]));也就是在Map中删除匹配的数据,然后Map的remove方法返回对应Key的值,这样数据在Map中删除时也存到集合的最前面了。最后遍历Map,将剩下的数据存放到集合中,这样就将传进来的集合,根据方法内获得数组的数据,进行了排序,一些数据优先的放到了集合的前面。

这貌似简单的让人蛋疼,可是对于数月不动代码的我来说,他让我趴下了,无语和狂忍中。

热点排行