获取树的高度和深度
import org.assertj.core.util.Lists; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { Objects objects = new Objects(); Objects objects1 = new Objects(); Objects objects2 = new Objects(); objects.setLits(Lists.newArrayList(objects1)); objects1.setLits(Lists.newArrayList(objects2)); System.out.println(height(objects)); } public static int height(Objects obj){ List<Objects> objs = obj.getLits(); int maxHeight = 0; if(objs.size()==0) return 1; for(Objects obj1 :objs){ int curheight = height(obj1); if(curheight>maxHeight) maxHeight = curheight; } return maxHeight+1; } private static int getHeight(SObjects obj) { int height = 0; List<Objects> objs = obj.getLits(); if (subjectList.isEmpty()) { return 1; } height = objs.size(); for(Objects obj1 :objs){ height += getHeight(obj1) - 1; } return height; } } class Objects{ List<Objects> lits = new ArrayList<>(); public List<Objects> getLits() { return lits; } public void setLits(List<Objects> lits) { this.lits = lits; } }