根据List Map 生成森林/树
根据List<Map<String,Object>> 生成森林/树
public class TreeNodeVo {
Map<String,Object> treeData;
List<TreeNodeVo> children;
}
例如:
入参:
relationList [{“startId”:“1”,“endId”:“2”},{“startId”:“2”,“endId”:“3”}]
dataList:[{“id”:“1”,“info”:“apple”},{“id”:“2”,“info”:“banana”},{“id”:“3”,“info”:“pear”}]
relationStartIndexName :startId
relationEndIndexName :endId
dataIndexName :id
出参就是把data根据relation连接起来
/**
*
* @param relationList 线的数据
* @param dataList 点的数据
* @param relationStartIndexName 线中记录起始点标识的字段
* @param relationEndIndexName 线中记录终止点标识的字段
* @param dataIndexName 与线的标识字段对应的点的字段
* @return
*/
public static List<TreeNodeVo> dataToTree(List<Map<String, Object>> relationList,
List<Map<String, Object>> dataList,
String relationStartIndexName,
String relationEndIndexName,
String dataIndexName) {
Table<String, String, Object> relationTable = HashBasedTable.create();
Map<String, Map<String, Object>> dataIndexMap = new HashMap<>