一直以來對集合的操作都是比較頻繁的
像簡單的集合去重,取並集,取差集,按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);