在开发中经常能遇到需要将带有父子级的数据处理为树形结构数据,网上搜到的基本都是递归,这里不用递归,递归性能太差
@Override
public Map<String, List<Region>> test2() {
Map<String, List<Region>> map = new HashMap<>();
List<Region> regionList = list();
List<Region> emptyList = new ArrayList<>();
// 将数组数据转为map结构,pcode为key
Map<String, List<Region>> regionMap = regionList.stream().map(item -> {
Region region = new Region();
BeanUtils.copyProperties(item, region);
return region;
}).collect(Collectors.groupingBy(Region::getPcode, Collectors.toList()));
// 上面的Collectors.groupingBy将数据按Pcode分