生成树代码

树结构在业务开发中时常遇到,本文将详细实现一个树结果的生成。1、 定义数据结构本文首先定义主题结构,每个主题自己的主题信息、负责人、孩子节点等public class SubjectDto implements Comparable { /** * 自增id */ protected Long id; /** * 创建时间 * */ protected Lon...
摘要由CSDN通过智能技术生成

树结构在业务开发中时常遇到,本文将详细实现一个树结果的生成。
1、 定义数据结构
本文首先定义主题结构,每个主题自己的主题信息、父主题Id、负责人等,并且为每个主题构建一个孩子结点列表。

public class SubjectDto implements Comparable {
   

	/**
	 * 自增id
	 */
	protected Long id;

	/**
	 * 创建时间
	 *
	 */
	protected Long createTime;

	/**
	 * 更新时间
	 *
	 */
	protected Long updateTime;

	/**
	 * 项目组id
	 */
	private Long pgId;

	/**
	 * 集群Id
	 */
	private String clusterId;

	/**
	 * 父主题id
	 */
	private Long parentId;

	/**
	 * 主题名
	 */
	private String name;

	/**
	 * 主题缩写
	 */
	private String abbr;

	/**
	 * 主题描述
	 */
	private String description;

	/**
	 * 主题层级
	 */
	private Integer level;

	/**
	 * 顺序
	 */
	private Integer sort;

	/**
	 * 是否是预置主题
	 * @see SubjectPresetFlag
	 */
	private Byte presetFlag;

	/**
	 * 创建人
	 *
	 */
	private String creator;

	/**
	 * 修改人
	 *
	 */
	private String modifier;

	/**
	 * 全路径名
	 */
	private String fullName;

	/**
	 * 全路径id
	 */
	private String fullId;

	/**
	 * 主题子节点
	 */
	private List<SubjectDto> children;

	/**
	 * 用户有该主题的当前用户
	 */
	private Set<UserSimpleDto> currentOwners;
	
	/**
	 * 拥有该主题的所有用户
	 */
	private Set<UserSimpleDto> owners;
	
	/**
	 * 负责人类型
	 *
	 * @see OwnerType
	 */
	private Integer ownerType;

  public SubjectDto(Long id, String name, String abbr, Integer level,
      Set<UserSimpleDto> owners, Long pgId, String clusterId) {
   
    this.id = id;
    this.name = name;
    this.abbr = abbr;
    this.level = level;
    this.owners = owners;
    this.pgId = pgId;
    this.clusterId = clusterId;
  }

  /**
	 *
	 * @param o
	 * @return
	 */
	@Override
	public int compareTo(Object o) {
   
		SubjectDto subjectDto = (SubjectDto) o;
		return t
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值