将树形list转换成list
1.对象
/**
* @Description TODO
* @Author pei
* @Date 2020-11-21 14:39
*/
@Data
public class ConstructionUnitTreeEntity {
private static final long serialVersionUID = 1L;
/** 节点ID */
private String id;
/** 节点父ID */
private String parentid;
/** 节点名称 */
private String name;
/** 是否能勾选 */
private boolean nocheck = false;
/** 是否是父节点 */
private String isParent;
private Integer grade;
private Integer useFlag;
private List<ConstructionUnitTreeEntity> children;
}
2.将树形list转换程list
private List<ConstructionUnitTreeEntity> treeToList(List<ConstructionUnitTreeEntity> treeList){
List<ConstructionUnitTreeEntity> list = new ArrayList<>(16);
List<ConstructionUnitTreeEntity> list1 = new ArrayList<>(16);
String temp;
for (ConstructionUnitTreeEntity tree :treeList){
if(tree.getChildren().size()>0){
list = treeToList(tree.getChildren());
temp =JSON.toJSONString(tree).substring(JSON.toJSONString(tree).lastIndexOf("],")+2);
temp = "{".concat(temp);
ConstructionUnitTreeEntity constructionUnitTreeEntity = JSON.parseObject(temp, ConstructionUnitTreeEntity.class);
list.add(constructionUnitTreeEntity);
}else {
list.add(tree);
}
for (ConstructionUnitTreeEntity tr :list){
int count = 0;
for (ConstructionUnitTreeEntity sub:list1) {
if(sub.getId()!=tr.getId()){
count++;
}
}
if(count ==list1.size()){
list1.add(tr);
}
}
}
return list1;
}
3.转换前
[图片上传失败.
转换后
[图片上传失败...(image-5bc8f-1606789791359)]