public LinkedHashMap<String, List<DevInfo>> queryList(List<DevInfo> list) { LinkedHashMap<String, List<DevInfo>> map = new LinkedHashMap<>(); for (DevInfo li : list) { //将需要归类的属性与map中的key进行比较,如果map中有该key则添加bean如果没有则新增key if (map.containsKey(li.getClassID())) { //取出map中key对应的list并将遍历出的bean放入该key对应的list中 ArrayList<DevInfo> templist = (ArrayList<DevInfo>) map.get(li.getClassID()); templist.add(li); } else { //创建新的list ArrayList<DevInfo> temlist = new ArrayList<DevInfo>(); temlist.add(li); map.put(li.getClassID(), temlist); } } return map; }
private List<Bean> initDatas( List<?> args) { List<Bean> mDatas = new ArrayList<Bean>(); LinkedHashMap<String, List<DevInfo>> map = queryList(( List<DevInfo>)args); int parentID = 0; for (Object classID : map.keySet()) { List<DevInfo> list = map.get(classID); int id =0; String name = ClassType.getClassType( Integer.valueOf( classID.toString() )).getName(); mDatas.add(new Bean(--parentID, -100 ,name+"("+list.size()+")" , null)); for (DevInfo info:list ) { mDatas.add(new Bean(id++, parentID ,name , info) ); } } return mDatas; }