src/main/java/studio/baxia/fo/common/TreeInfoUtil.java
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package studio.baxia.fo.common;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Pan on 2016/10/15.
* TreeInfo工具类
*/
public class TreeInfoUtil {
/**
* 将List<? extends TreeInfo>转换成TreeInfoResult
* @param treeInfos 实现了TreeInfo的类的集合形式
* @return TreeInfoResult
*/
public static TreeInfoResult convertToTreeInfoResult(List<? extends TreeInfo> treeInfos,TreeInfo rootTreeInfo) {
TreeInfoResult treeRootInfoResult = new TreeInfoResult(rootTreeInfo);
List<TreeInfoResult> treeRootInfoResultChildrens = new ArrayList<TreeInfoResult>();
List<TreeInfo> restTreeInfos = new ArrayList<TreeInfo>();
if(rootTreeInfo==null){
for (int i = 0; i < treeInfos.size(); i++) {
TreeInfo treeInfo = treeInfos.get(i);
if (treeInfo.getParentId() == CommonConstant.MESSAGE_DEFAULT_PARENT_ID) {
treeRootInfoResultChildrens.add(new TreeInfoResult(treeInfo));
} else {
restTreeInfos.add(treeInfo);
}
}
}else{
for (int i = 1; i < treeInfos.size(); i++) {
TreeInfo treeInfo = treeInfos.get(i);
if (treeInfo.getParentId() == rootTreeInfo.getId()) {
treeRootInfoResultChildrens.add(new TreeInfoResult(treeInfo));
} else {
restTreeInfos.add(treeInfo);
}
}
}
getChildrenTree(treeRootInfoResultChildrens, restTreeInfos);
treeRootInfoResult.setChildrens(treeRootInfoResultChildrens);
return treeRootInfoResult;
}
private static void getChildrenTree(List<TreeInfoResult> treeInfoResultChildrens, List<TreeInfo> treeInfos) {
List<TreeInfo> restTreeInfos;
for (int i = 0; i < treeInfoResultChildrens.size(); i++) {
TreeInfoResult treeInfoResult = treeInfoResultChildrens.get(i);
if (treeInfoResult != null) {
int parentId = treeInfoResult.getData().getId();
List<TreeInfoResult> treeInfoChildrens = new ArrayList<TreeInfoResult>();
restTreeInfos = new ArrayList<>();
for (int j = 0; j < treeInfos.size(); j++) {
TreeInfo treeInfo = treeInfos.get(j);
if (treeInfo.getParentId() == parentId) {
treeInfoChildrens.add(new TreeInfoResult(treeInfo));
} else {
restTreeInfos.add(treeInfo);
}
}
后面还有 23 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
