ArrayList转成HashMap再转成LinkedHashMap 自己的解决方案


做天津杰超项目中赛事活动作品审核中写的一段代码:

 1 //获取全部作品
 2 ActivityProductionQueryCommond productionQueryCommond=new ActivityProductionQueryCommond();
 3 productionQueryCommond.setSearchProductionWorksId(worksValidCommond.getProductionWorksId());
 4 List<ActivityProductionValidCommond> productionValidCommonds=(List<ActivityProductionValidCommond>) this.activityProductionService
    .findAllList(productionQueryCommond);
5 //循环分组 6 Map<String, List<ActivityProductionValidCommond>> proHashMap=new HashMap<String, List<ActivityProductionValidCommond>>(); 7 for (ActivityProductionValidCommond production : productionValidCommonds) { 8 if(proHashMap.containsKey(production.getProductionGroupId())) { 9 proHashMap.get(production.getProductionGroupId()).add(production); 10 }else { 11 List<ActivityProductionValidCommond> proList=new ArrayList<ActivityProductionValidCommond>(); 12 proList.add(production); 13 proHashMap.put(production.getProductionGroupId(), proList); 14 } 15 } 16 List<String> keyList=new ArrayList<String>(proHashMap.keySet()); 17 Collections.sort(keyList);//key排序 空在最上面 18 Map<String, List<ActivityProductionValidCommond>> proLinkedMap=new LinkedHashMap<String, List<ActivityProductionValidCommond>>(); 19 //生成有序map 20 for (String key : keyList) { 21 if(PropertyUtil.objectNotEmpty(key)) { 22 ProductionGroupValidCommond group=this.productionGroupService.find(key); 23 key=group.getProductionGroupName(); 24 }else { 25 key="未分组"; 26 } 27 proLinkedMap.put(key, proHashMap.get(key)); 28 }

写的不好。请大神们指正。我改。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM