針對list集合的操作,按照某一字段,對另一個字段進行歸類

一直以來對集合的操作都是比較頻繁的
像簡單的集合去重,取並集,取差集,按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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章