java中对list集合中的数据按照某一个属性进行分组

mac2024-03-16  26

使用场景:项目中有个选择法律依据的地方 列表是多选的 《安全法》第一条 《安全法》第十一条 《安全法》第二十一条 选择完毕后,要求显示成 《安全法》第一条,第十一条,第二十一条

按照这个格式 修改即可

// 数据源 List<BeanRespGetLaw.Law> lawList = data.getParcelableArrayListExtra("model"); // 分组后的数据源 List<BeanRespGetLaw.Law> laws = new ArrayList<>(); for (BeanRespGetLaw.Law law : lawList) { boolean state = false; for (BeanRespGetLaw.Law l : laws) { if (l.getLaw().equals(law.getLaw())) { String lawNumber = l.getLawNumber() + ", "; lawNumber += law.getLawNumber(); l.setLawNumber(lawNumber); state = true; } } if (!state) { laws.add(law); } } String message = ""; for (int i = 0; i < laws.size(); i++) { System.out.println(laws.get(i).getLaw() + " " + laws.get(i).getLawNumber()); message += i + 1 + ":" + laws.get(i).getLaw() + " " + laws.get(i).getLawNumber() + " "; } // 赋值 etDecision.setText(message);
最新回复(0)