List<person> personlist=NewArrayList (); Person P1=NewPerson (); P1.setpersonid (1); P1.setpersonname ("CHM"); List<Area> arealist1=NewArraylist<>(); Area A1=NewArea (); A1.setareaid (1); A1.setareaname (Haidian); A1.setcityid (1); Arealist1.add (A1); Area A2=NewArea (); A2.setareaid (2); A2.setareaname (Fengtai); A2.setcityid (1); Arealist1.add (A2); Area A3=NewArea (); A3.setareaid (11); A3.setareaname ("Chongming"); A3.setcityid (2); Arealist1.add (A3); P1.setarealist (AREALIST1); Personlist.add (p1); Person P2=NewPerson (); P2.setpersonid (2); P2.setpersonname ("WT"); List<Area> arealist2=NewArraylist<>(); Area A11=NewArea (); A11.setareaid (21st); A11.setareaname ("Linying"); A11.setcityid (3); Arealist2.add (A11); Area A12=NewArea (); A12.setareaid (22); A12.setareaname ("Yancheng"); A12.setcityid (3); Arealist2.add (A12); Area A13=NewArea (); A13.setareaid (12); A13.setareaname (Pudong); A13.setcityid (2); Arealist2.add (A13); P2.setarealist (AREALIST2); Personlist.add (p2); List<Integer> cityidlist=NewArraylist<>(); for(person person:personlist) { for(Area area:person.getAreaList ()) {if(!Cityidlist.contains (Area.getcityid ())) {Cityidlist.add (Area.getcityid ()); }}}list<List<Integer>> mylist= Personlist.stream (). Map (I->i.getarealist (). Stream (). Map (area->Area.getcityid ()). Collect (Collectors.tolist ())). Collect (Collectors.tolist ()); Map<integer, list<person>> basicmap =Personlist.stream (). Collect (Collectors.groupingby (Person::getpersonid)); List<Person> Personlistcurrent=basicmap.get (2);
Java Map--syntax