一直以来对集合的操作都是比较频繁的
像简单的集合去重,取并集,取差集,按id取不同,我们都司空见惯了
今天这篇文章其实也很常见
例:举一个实际的情况吧,我们在选择法律法规的时候,《某某法》第一条,《某某法》第十一条
- 《某某法》第一条
- 《某某法》第二条
- 《某某法》第十一条
- 《某某某某法》第一条
- 《某某某某法》第五十条
- 《某某某某法》第十二条
我们在多选完毕后,我们希望是这样去显示的:《某某法》第一条,第二条,第十一条;《某某某某法》第一条,第五十条,第十二条
那我们就需要依据法律法规名称,也就是law字段对条款名称lawNumber进行分类
具体代码如下所示,自行参悟😁
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);