思维导图之节点结构

本文探讨了如何创建思维导图的节点结构,指出其本质是一个树形结构,节点包含父节点引用、子节点集合、层级、开关状态和焦点状态等属性。作者将其设计为泛型以便承载更多扩展属性,并提供了相关的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思维导图之节点结构

大家好,最近贵公司招兵买马,求能人异士一起写代码,有简历就投递到我的邮箱 atmanpro@163.com ,我的美女大连秘书会联系您预约面试喔!
招聘要求:
本科以上,三年工作,热爱代码,想做点东西的人
加入我们的好处:
优秀的开发者一起,相互提高,相互切磋。薪酬可观。

如果要打造一个思维导图的控件。我们基本可以推断出这个结构是一个树形结构。而树形结构的节点模型是怎样的呢?它将具备啥属性呢?

  • 指向父节点
  • 子节点集合
  • 当前的层级
  • 是否关闭节点
  • 是否当前对焦的节点

由于这个节点是一个抽象的概念,所以我把它看做为一种泛型,这样它就可以携带更多其他拓展属性。

根据以上的分析我们可以编写出节点代码如下

package com.owant.thinkmap

import java.util.*

/**
 *  created by Kyle.Zhong on 2020/6/8
 *  节点
 */
open class NodeModel<T> {

    /**
     * 父节点
     */
    var parentNode: NodeModel<T>? = null

    /**
     * 当前节点的数据
     */
    var nodeValue: T

    /**
     * 子节点集合
     */
    var childNodes: LinkedList<NodeModel<T>>? = LinkedList<NodeModel<T>>()

    /**
     * 当前的层级
     */
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值