返回顶部
首页 > 资讯 > 后端开发 > GO >GoFrame gtree树形结构的使用技巧示例
  • 736
分享到

GoFrame gtree树形结构的使用技巧示例

2024-04-02 19:04:59 736人浏览 薄情痞子
摘要

目录树形结构一图胜千言查询源码使用场景使用入门常用方法示例代码打印结果技巧树形结构 树形结构gtree具有以下特点: 支持排序,支持有序遍历内存占用低复杂度稳定适合大数据量存储 一图

树形结构

树形结构gtree具有以下特点:

  • 支持排序,支持有序遍历
  • 内存占用低
  • 复杂度稳定
  • 适合大数据量存储

一图胜千言

查询源码

使用场景

  • 关联数组场景
  • 大数据量内存CRUD
  • 排序键值对(后面的示例就是前序遍历和后序遍历)

使用入门

我们以实例化红黑树为例(实例化B树、高度平衡树也是一样的方式)

常用方法

Set() 赋值

Keys() 获得键列表

Values() 获得值列表

Contains() 判断是否包含指定的key

t.Print() 可以直接打印树形结构

也可以通过常规方式打印树形结构:fmt.Println(t.String())

Iterator() 相关的方法进行树的遍历

Clear() 清空数

IsEmpty() 判断数是否为空

示例代码

package main
import (
   "fmt"
   "GitHub.com/Gogf/gf/container/gtree"
   "github.com/gogf/gf/util/gutil"
)
func main() {
   //实例化tree
   t := gtree.NewRedBlackTree(gutil.ComparatorInt)
   t.Set(-1, -1)
   for i := 0; i < 10; i++ {
      t.Set(i, i*10)
   }
   fmt.Println("键列表:", t.Keys())
   fmt.Println("值列表:", t.Values())
   // 查询是否包含
   fmt.Println(t.Contains(-1))
   fmt.Println("下面是使用t.Print()打印的树形结构:")
   t.Print() //打印出树形结构
   fmt.Println("下面是使用fmt.Println(t.String())打印的树形结构:")
   fmt.Println(t.String()) //和上面一样 也是打印出了树形结构
   t.IteratorDesc(func(key, value interface{}) bool {
      fmt.Println("倒序遍历:", key, value)
      return true
   })
   t.Clear()
   fmt.Println(t.IsEmpty()) //true
}

打印结果

技巧

最近几篇文章都提到了数据类型的排序,GoFrame提供的gutil提供了基本数据类型常用的比较方法。

(因为今天上午读了一篇阅读源码的文章,深受启发,所以自己也要多多读读源码了,看下大佬们是怎么写的代码的。)

以上就是GoFrame gtree树形结构的使用技巧示例的详细内容,更多关于GoFrame gtree树形结构的资料请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: GoFrame gtree树形结构的使用技巧示例

本文链接: https://lsjlt.com/news/151033.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • GoFrame gtree树形结构的使用技巧示例
    目录树形结构一图胜千言查询源码使用场景使用入门常用方法示例代码打印结果技巧树形结构 树形结构gtree具有以下特点: 支持排序,支持有序遍历内存占用低复杂度稳定适合大数据量存储 一图...
    99+
    2024-04-02
  • Go Frame gtree树形结构如何使用
    这篇文章主要介绍了Go Frame gtree树形结构如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go Frame gtree树形结构如何使用文章都会有所收获,...
    99+
    2023-07-02
  • jQuery中treeview树形结构应用示例
    这篇文章将为大家详细讲解有关jQuery中treeview树形结构应用示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引入必备cssjquery.treeview.css引入必备jsjquery-3.0...
    99+
    2023-06-14
  • Java实现树形结构的示例代码
    目录前言数据库表结构实现思路具体代码1、造数据,和数据库表数据一致2、树型结构实体类前言 由于业务需要,后端需要返回一个树型结构给前端,包含父子节点的数据已经在数据库中存储好,现在需...
    99+
    2024-04-02
  • WinForms中怎么使用TreeView展示树形结构
    在WinForms中使用TreeView展示树形结构非常简单,可以按照以下步骤操作: 在Visual Studio中创建一个新的...
    99+
    2024-03-12
    WinForms TreeView
  • LayUI—tree树形结构的使用解析
    目录先看一下显示的效果图案例对应的实体类Dept完整代码如下树形结构在实际开发中很长用到,比如部门管理,权限菜单等。因为用树形结构来展示会显的很清晰明了。 最近写了一个个人博客小项目...
    99+
    2022-11-13
    LayUI树形表格 treetable使用 树形表格treetable
  • JavaScript平铺数组转树形结构的实现示例
    目录后台丢来了1w条数据 递归方式非递归方式总结后台丢来了1w条数据 千算万算,还是没有逃过,后台真的就上万条数据一次丢给前端了。好吧,好在还不是10w条。如下,后台返回的是这样的...
    99+
    2024-04-02
  • vue实现树形结构增删改查的示例代码
    其实很多公司都会有类似于用户权限树的增删改查功能,正好最近我刚写了一个树形结构的增删改,在这里和大家分享一下,如果有不合理的地方欢迎评论,我会尽快优化~~ 先附上一下效果图 这个是没...
    99+
    2024-04-02
  • 如何在AmazeUi 中使用树形结构
    如何在AmazeUi 中使用树形结构?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。基本引入<link rel="stylesheet&...
    99+
    2023-06-09
  • PHP数组转树结构以及树结构转数组的示例
    本文将为大家详细介绍“PHP数组转树结构以及树结构转数组的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“PHP数组转树结构以及树结构转数组的示例”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体...
    99+
    2023-06-06
  • JavaScript之树结构的示例分析
    这篇文章主要介绍了JavaScript之树结构的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。二叉树--概念--二叉树是一种树形结构...
    99+
    2024-04-02
  • jQuery中EasyUI结合zTree树形结构制作web页面的示例分析
    这篇文章给大家分享的是有关jQuery中EasyUI结合zTree树形结构制作web页面的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。easyui 是一个基于 jQue...
    99+
    2024-04-02
  • MySQL中的常用树形结构设计总结
    目录常用树形结构设计总结1. 递归表2.路径枚举3.数据与关系分开存mysql树形结构(多级菜单)查询设计方案三级查询(层级固定,层级数少)多级查询(层级不固定/层级很深)总结常用树形结构设计总结 开发中,经常会遇到树形...
    99+
    2023-03-03
    MySQL树形结构 常用树形结构 树形结构设计
  • JS前端二维数组生成树形结构示例详解
    目录问题描述实现步骤完整代码问题描述 前端在构建国家的省市区结构时,接口返回的不是树形结构,这个时候就需要我们进行转化。以下数据为例 [ [ { ...
    99+
    2024-04-02
  • 使用canvas怎么绘制一个树形结构的可视图形
    这篇文章给大家介绍使用canvas怎么绘制一个树形结构的可视图形,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。树形分支是后端接口返回数据渲染,可展示多条;代码可拓展,可封装;点击节点可查看备注;<canvas&n...
    99+
    2023-06-09
  • 文件预览PDF.js使用技巧示例总结
    目录Pdf.js有两种使用方式把pdf.js当作静态资源使用npm下载,通过import使用API(记录一下,防止忘记)Pdf.js有两种使用方式 在这次的项目中用到了pdf文件的...
    99+
    2023-03-06
    文件预览PDF.js PDF 文件预览
  • 使用Java将一个List运用递归转成树形结构案例
    在开发中,我们会遇到将不同组织架构合并成tree这种树状结构,那么如果做呢? 实际上,我们也可以理解为如何将拥有父子关系的list转成树形结构,而这其中主要的方法就是递归! 1、实体...
    99+
    2024-04-02
  • JS使用reduce()方法处理树形结构数据
    目录定义语法实例1. 没有传递初始值init2. 传递初始值的情况下3. 数组去重4. 利用 reduce 对数组中的 Object 对象进行分组及合并5. 利用 reduce 处理...
    99+
    2024-04-02
  • 使用JavaScript怎么将数组转为树形结构
    本篇文章给大家分享的是有关使用JavaScript怎么将数组转为树形结构,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.需求后台给了一个这样的数据让咱前端去转换为树形结构(没...
    99+
    2023-06-15
  • linux下怎么用tree命令以树形结构显示文件目录结构
    本篇内容介绍了“linux下怎么用tree命令以树形结构显示文件目录结构”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在ubuntu系统中默...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作