public class TreeNode<T> implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty
private String id;
@ApiModelProperty
private String name;
@ApiModelProperty
private String label;
@ApiModelProperty
private Boolean checkable;
@ApiModelProperty
private ScopedSlots scopedSlots;
@ApiModelProperty
private String parentId;
@ApiModelProperty
private T data;
@ApiModelProperty
private List<TreeNode<T>> children;
@ApiModelProperty
private String shorthand;
@ApiModelProperty
private Integer orderIndex;
@ApiModelProperty
private String online;
}
遍历最深度可以直到children为空时停止深入。
List<TreeNode<IndustryDeviceStationTreeVO>> tree = (List<TreeNode<IndustryDeviceStationTreeVO>>) areaStationIndustryDeviceTree2.get("tree");
TreeNode<IndustryDeviceStationTreeVO> children = tree.get(0);
//遍历树拿id(由industryDeviceId-stationName-stationId拼接)
while (CollUtil.isNotEmpty(children.getChildren())) {
children = children.getChildren().get(0);
}
String deviceIdStationNameStationId = children.getData().getId();
上面遍历List<TreeNode>,稍复杂,万变不离其宗。