最近工作中有要生成树状结构数据的需求,然后研究总结了一下。新手上路,请多指教!
首先写一个树形数据实体接口,用于实体类的实现。
package com.hyit.appdev.util;
import java.util.List;
/**
* 树形数据实体接口
*
* @param <E>
* @author lihao
* @date 2019年8月5日
*/
public interface TreeEntity<E> {
String getId();
String getParentId();
void setChildren(List<E> children);
}
然后是解析树形数据工具类
package com.hyit.appdev.util;
import java.util.ArrayList;
import java.util.List;
/**
* 解析树形数据工具类
*
* @author lihao
* @date 2019年8月5日
*/
public class TreeParser{
/**
* 解析树形数据
* @param topId
* @param entityList
* @return
* @author lihao
* @date 2019年8月5日
*/
public static <E extends TreeEntity<E>> List<E> getTreeList(String topId, List<E> entityList) {
List<E> resultList=new ArrayList<>();
//获