对一个集合的数据进行分组
/**
* rCount : 11
* rData : [{"area_id":"1","up_area_id":"0","area_key":"000001","area_name":"龙田镇","area_img":"","area_points":[],"childs":[{"area_id":"3","up_area_id":"1","area_key":"000003","area_name":"龙田_某某村1","area_img":"","area_points":[],"childs":[]},{"area_id":"4","up_area_id":"1","area_key":"000004","area_name":"龙田_某某村2","area_img":"","area_points":[],"childs":[]},{"area_id":"64","up_area_id":"1","area_key":"fwlrlj046w7gzvyb4cqxnp1yye0sw2gh","area_name":"龙田_某某村3","area_img":"","area_points":[],"childs":[]}]},{"area_id":"2","up_area_id":"0","area_key":"000002","area_name":"高山镇","area_img":"","area_points":[],"childs":[{"area_id":"5","up_area_id":"2","area_key":"0000005","area_name":"高山_某某村","area_img":"","area_points":[],"childs":[]}]},{"area_id":"6","up_area_id":"0","area_key":"yj7k8tkmg7qs9eqv","area_name":"音西街道","area_img":"","area_points":[],"childs":[]},{"area_id":"65","up_area_id":"0","area_key":"GGCclWwRLPO4K8vj6pi8jJSOi8M3lrrH","area_name":"靖江镇","area_img":"","area_points":[],"childs":[]},{"area_id":"74","up_area_id":"0","area_key":"jt5mGHb8h41dvF28iOa1UKgMw9ImBg9F","area_name":"陈嘉敏1号","area_img":"imgs/1502965942667.jpg","area_points":[{"lng":119.363809,"lat":25.996461},{"lng":119.383213,"lat":25.99107},{"lng":119.406712,"lat":25.998604},{"lng":119.406856,"lat":26.004904},{"lng":119.391837,"lat":26.006073},{"lng":119.382494,"lat":26.004319},{"lng":119.377751,"lat":26.021269},{"lng":119.363953,"lat":26.023736},{"lng":119.336645,"lat":26.014515},{"lng":119.329602,"lat":26.001267},{"lng":119.346274,"lat":25.988926},{"lng":119.363809,"lat":25.996461}],"childs":[]},{"area_id":"75","up_area_id":"0","area_key":"KTcFIjZWr5QBIP9cOp81huD0cPtsjGS8","area_name":"陈家敏2号","area_img":"imgs/1502966386325.jpg","area_points":[{"lng":119.368975,"lat":25.997191},{"lng":119.36637,"lat":25.99586},{"lng":119.36743,"lat":25.994934},{"lng":119.372083,"lat":25.994918},{"lng":119.380114,"lat":25.995016},{"lng":119.380024,"lat":25.996753},{"lng":119.377437,"lat":25.997825},{"lng":119.373682,"lat":25.997435},{"lng":119.368975,"lat":25.997191}],"childs":[]},{"area_id":"76","up_area_id":"0","area_key":"HjxQK6dP4PljVyFchQFEW4iIbVsxcy7u","area_name":"陈家敏3号","area_img":"imgs/1502966736453.jpg","area_points":[{"lng":119.316361,"lat":26.130624},{"lng":119.276979,"lat":26.124137},{"lng":119.251683,"lat":26.118687},{"lng":119.243347,"lat":26.100519},{"lng":119.253408,"lat":26.071704},{"lng":119.297964,"lat":26.067031},{"lng":119.374427,"lat":26.060799},{"lng":119.398861,"lat":26.070665},{"lng":119.42157,"lat":26.110122},{"lng":119.419271,"lat":26.13296},{"lng":119.364941,"lat":26.134776},{"lng":119.316361,"lat":26.130624}],"childs":[{"area_id":"80","up_area_id":"76","area_key":"elYpoRPdgdmsZYkf2ivJgY6W5JY2rCDW","area_name":"小陈家敏1号","area_img":"imgs/1502969366823.jpg","area_points":[{"lng":119.361375,"lat":25.999286},{"lng":119.352679,"lat":25.993635},{"lng":119.362669,"lat":25.989543},{"lng":119.379341,"lat":25.995584},{"lng":119.386671,"lat":26.002988},{"lng":119.371077,"lat":26.004482},{"lng":119.361375,"lat":25.999286}],"childs":[]},{"area_id":"81","up_area_id":"76","area_key":"29EhqQbdJqS0jMGxQqGQnY5Ne6DVjTCj","area_name":"小陈家敏2号","area_img":"imgs/1502969520081.jpg","area_points":[{"lng":119.369002,"lat":25.997362},{"lng":119.365588,"lat":25.995852},{"lng":119.367582,"lat":25.982001},{"lng":119.421912,"lat":25.977324},{"lng":119.44922,"lat":26.006941},{"lng":119.443759,"lat":26.048238},{"lng":119.383105,"lat":26.043304},{"lng":119.374194,"lat":26.018371},{"lng":119.369002,"lat":25.997362}],"childs":[]}]},{"area_id":"77","up_area_id":"0","area_key":"vkShtENIv9D7LhgpKirEbN7gWt3algky","area_name":"陈家敏4号","area_img":"imgs/1502968508117.jpg","area_points":[{"lng":119.368085,"lat":25.997557},{"lng":119.367627,"lat":25.996363},{"lng":119.369837,"lat":25.995568},{"lng":119.373628,"lat":25.996136},{"lng":119.374032,"lat":25.997549},{"lng":119.368085,"lat":25.997557}],"childs":[{"area_id":"82","up_area_id":"77","area_key":"VcdyVu4tOqIekGF22QqZ9Rmqs9ICtbT9","area_name":"小陈家敏3号","area_img":"imgs/1502969863408.jpg","area_points":[{"lng":119.369226,"lat":25.996988},{"lng":119.368157,"lat":25.99573},{"lng":119.370933,"lat":25.995316},{"lng":119.373691,"lat":25.99599},{"lng":119.374625,"lat":25.997532},{"lng":119.371418,"lat":25.99763},{"lng":119.369226,"lat":25.996988}],"childs":[]}]},{"area_id":"78","up_area_id":"0","area_key":"FHfjfKdmgZTzrWepSXGBmpuWPEGGK32z","area_name":"陈家敏5号","area_img":"imgs/1502968704216.jpg","area_points":[{"lng":119.369289,"lat":25.9972},{"lng":119.367924,"lat":25.996217},{"lng":119.369747,"lat":25.995641},{"lng":119.373053,"lat":25.995592},{"lng":119.374212,"lat":25.996794},{"lng":119.374436,"lat":25.997768},{"lng":119.372173,"lat":25.997557},{"lng":119.369289,"lat":25.9972}],"childs":[]},{"area_id":"79","up_area_id":"0","area_key":"ntRqU4MNIgwO1bbOob437bIErCWFLdSk","area_name":"陈家敏6号","area_img":"imgs/1502969003696.jpg","area_points":[{"lng":119.361276,"lat":26.001243},{"lng":119.352796,"lat":25.991825},{"lng":119.369397,"lat":25.987343},{"lng":119.396777,"lat":25.993773},{"lng":119.399939,"lat":26.002541},{"lng":119.388728,"lat":26.004165},{"lng":119.374499,"lat":26.002022},{"lng":119.361276,"lat":26.001243}],"childs":[]},{"area_id":"83","up_area_id":"0","area_key":"ghTyw7daxH8pVNPLdouTlFf0T29qy4zF","area_name":"陈家敏7号","area_img":"imgs/1502970945126.jpg","area_points":[{"lng":119.36919,"lat":25.997264},{"lng":119.367708,"lat":25.996339},{"lng":119.369199,"lat":25.995308},{"lng":119.371616,"lat":25.995779},{"lng":119.37343,"lat":25.99737},{"lng":119.371822,"lat":25.997735},{"lng":119.36919,"lat":25.997264}],"childs":[]}]
*/
看到数据如上我们需要做的是分成镇数据包含村数据
//构造城镇列表
List<TownListEntity.RDataBean> towns = new ArrayList<>();
for (TownListEntity.RDataBean town : response.body().getRData()) {
//up_area_id为0的都为城镇列表
if (town.getUp_area_id().equals("0")) {
towns.add(town);
}
}
//遍历上面得到的城镇列表
for (TownListEntity.RDataBean town : towns) {
//构造乡村列表
List<TownListEntity.RDataBean.ChildsBean> child = new ArrayList<>();
//遍历得到的所有数据找出城镇列表下级的所有孩子
for (TownListEntity.RDataBean country : response.body().getRData()) {
//如果up_area_id为0为城镇不做处理继续下一条
if (country.getUp_area_id().equals("0")) {
continue;
}
//如果乡村的ID上一级所指为当前遍历的城镇 那么添加
if (country.getUp_area_id().equals(town.getArea_id())) {
child.add(new TownListEntity.RDataBean.
ChildsBean(country.getArea_id(), country.getUp_area_id(),
country.getArea_key(), country.getArea_name(), country.getArea_img()));
}
}
//编列结束添加乡村列表到当前的城镇之下
town.setChilds(child);
}
//设置城镇列表数据
townListEntity.setRData(towns);
}