```
public class XzqhDto {
? ? @ApiModelProperty("另加數(shù)據(jù)")
? ? private String label;
? ? @ApiModelProperty("另加數(shù)據(jù)")
? ? private String value;
? ? @ApiModelProperty("當前本身數(shù)據(jù)")
? ? private Xzqh xzqh;
? ? @ApiModelProperty("子元素")
? ? List<Object> children = new ArrayList<>();
}
```
```
/**
? ? * 處理思路
? ? * 1昏鹃、首先按照順序查找所有的元素
? ? * 2闽颇、轉(zhuǎn)成map<key,value>形式 提取所有的父類Map1? 所有子類map2
? ? * 3、遍歷map2 根據(jù)key 值塞入 map1中
? ? *
? ? * @return
? ? */
? ? public Object queryAllAboutXcx() {
? ? //查詢所以的數(shù)據(jù)
? ? ? ? List<Xzqh> xzqhList = xzqhMapper.queryXzqh(null, null);
? ? ? ? // TreeMap 能保證順序相同
? ? ? ? Map<String, XzqhDto> map = new TreeMap<>();
? ? ? ? Map<String, XzqhDto> result = new TreeMap<>();
? ? ? ? //轉(zhuǎn)成所有的map
? ? ? ? for (Xzqh xzqh : xzqhList) {
? ? ? ? ? ? XzqhDto xzqhDto = new XzqhDto().setXzqh(xzqh).setLabel(xzqh.getXzqhdmCd()).setValue(xzqh.getXzqhmcNm());
? ? ? ? ? ? if (xzqh.getSjxzqhdm().length() == 1) {
? ? ? ? ? ? ? ? result.put(xzqh.getXzqhdmCd(), xzqhDto);
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? map.put(xzqh.getXzqhdmCd(), xzqhDto);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //遍歷map2
? ? ? ? for (Map.Entry<String, XzqhDto> entry : map.entrySet()) {
? ? ? ? ? ? String key = entry.getKey();
? ? ? ? ? ? if (key.length() == 4) {
? ? ? ? ? ? ? ? String k = key.substring(0, 2);
? ? ? ? ? ? ? ? List<Object> xzqhs = result.get(k).getChildren();
? ? ? ? ? ? ? ? xzqhs.add(entry.getValue());
? ? ? ? ? ? ? ? result.get(k).setChildren(xzqhs);
? ? ? ? ? ? } else if (key.length() == 6) {
? ? ? ? ? ? ? ? String k = key.substring(0, 4);
? ? ? ? ? ? ? ? List<Object> xzqhs = map.get(k).getChildren();
? ? ? ? ? ? ? ? xzqhs.add(entry.getValue());
? ? ? ? ? ? ? ? map.get(k).setChildren(xzqhs);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return result;
? ? }
```