System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Java实现目录排序方法技术_技高网

一种基于Java实现目录排序方法技术

技术编号:40272389 阅读:7 留言:0更新日期:2024-02-02 22:58
本发明专利技术提供了一种基于Java实现目录排序方法,包括以下步骤:S1、新增节点或移动节点;S2、判断目录是否存在;S3、获取同级上下相邻节点排序值;S4、计算相邻节点排序值的中间值,判断中间值是否超限;S5、重新排序;通过有条件地、高效地计算节点排序值,避免频繁重新排序,从而降低数据计算耗时带来的弊端,提高用户体验。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及一种基于java实现目录排序方法。


技术介绍

1、软件使用人员在使用产品时,会涉及到将相似内容或功能的产品板块归类为同一个目录下。但现有的目录分级方式存在以下弊端:

2、1、对于分级归类的产品板块,无法让使用者指定目录顺序位置,查找不方便;

3、2、当涉及的目录及产品板块数量大时,每次新增或移动节点,都会重新排序,造成效率降低,用户体验不佳。


技术实现思路

1、针对现有技术存在的问题,本专利技术提供一种基于java实现目录排序方法,能够解决上述至少一个问题。

2、本专利技术的技术方案是:一种基于java实现目录排序方法,包括以下步骤:

3、s1、新增节点或移动节点;

4、所述节点包括节点名、节点唯一标识、节点排序值;

5、所述节点对应设计产品展示板块,一个节点对应一个板块,节点包括涉及到的具体板块信息;

6、所述新增节点包括新增节点名、节点唯一标识;

7、所述移动节点包括移动节点名、节点唯一标识;

8、s2、判断目录是否存在;

9、所述目录包括目录名、目录唯一标识、目录排序值;

10、所述目录对应具体的分组,一个目录对应一个分组,目录中包含分组及其下节点的具体内容;

11、判断目录是否存在包括判断目录唯一标识是否存在;

12、s3、获取同级上下相邻节点排序值;

13、所述同级上下相邻节点,对应于步骤s1中新增或移动后的相邻且在同一分组中垂直结构的两个节点;

14、所述节点排序值对应节点在同一分组中表示顺序大小的数值标识;

15、所述获取同级上下相邻节点排序值,包括获取同级上下相邻节点排序值、节点唯一标识;

16、s4、计算相邻节点排序值的中间值,判断中间值是否超限;

17、计算相邻节点排序值的中间值,判断中间值是否超过设定的位数限制,如果超过限制,进入步骤s5;

18、s5、重新排序;

19、通过更换同一分组下部分节点排序值,实现重新排序。

20、进一步的,所述步骤s2中,如果目录不存在,则新增或移动的节点视为与分组同级,进入步骤s4;如果目录存在,则设置此目录为节点的父级目录。

21、进一步的,所述步骤s3包括以下分步骤:

22、s31、获取同级上下相邻节点的唯一标识;

23、s32、根据获取的唯一标识,通过selectone()组件查询存放节点信息的介质(数据库),获取节点的排序值。

24、进一步的,所述步骤s4包括以下分步骤:

25、s41、以节点排序值从大到小顺序排列为例,若步骤s2中目录不存在,通过getmaxsortingroup()组件,查询其父级目录下所有子目录最大排序值,若此最大排序值不存在,即父级目录下没有子目录,设置中间值为0;若此最大排序值存在,设置中间值为此最大排序值加1(即置顶);

26、s42、以节点排序值从大到小顺序排列为例,若步骤s2中目录存在,根据步骤s3中获取的同级上下相邻节点排序值,以两排序值的最小值作为起始值、最大值作为结束值;

27、若起始值和结束值都不存在,设置中间值为0;

28、若仅起始值不存在,设置中间值为结束值减1;

29、若仅结束值不存在,设置中间值为起始值加1;

30、若起始值和结束值都存在,计算两者的差值的一半,四舍五入保留1位小数,若等于0,则更改为保留两位小数,继续判断是否等于0,以此类推,直到结果不等于0;若四舍五入的结果与最小值的和小于最大值,设置中间值为起始值与结果的和;否则设置中间值为起始值与差值原始值的和;

31、若中间值的小数位未超过设定长度,设置步骤s1中所述节点排序值为计算出的中间值。

32、进一步的,所述步骤s5中,设置新增或移动节点的排序值为所述步骤s4中的结束值,将该分组下排序在结束值及其之前的节点排序值均加1,重新设置这些节点的排序值,通过组件updatesortbyid()完成重新排序。

33、与现有技术相比,本专利技术具有以下有益效果:

34、1、本专利技术方法通过有条件地、高效地计算设置节点的排序值,实现指定目录位置,为使用者提供便利。

35、2、本专利技术在涉及的目录及产品板块数量大情况下,新增或移动节点,不会频繁重新排序,降低了数据传输带来的效率低弊端,从而提高用户体验。

本文档来自技高网...

【技术保护点】

1.一种基于Java实现目录排序方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于Java实现目录排序方法,其特征在于,所述步骤S2中,如果目录不存在,则新增或移动的节点视为与分组同级,进入步骤S4;如果目录存在,则设置此目录为节点的父级目录。

3.根据权利要求1所述的基于Java实现目录排序方法,其特征在于,所述步骤S3包括以下分步骤:

4.根据权利要求1所述的基于Java实现目录排序方法,其特征在于,所述步骤S4包括以下分步骤:

5.根据权利要求1所述的基于Java实现目录排序方法,其特征在于,所述步骤S5中,设置新增或移动节点的排序值为所述步骤S4中的结束值,将该分组下排序在结束值及其之前的节点排序值均加1,重新设置这些节点的排序值,完成重新排序。

【技术特征摘要】

1.一种基于java实现目录排序方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于java实现目录排序方法,其特征在于,所述步骤s2中,如果目录不存在,则新增或移动的节点视为与分组同级,进入步骤s4;如果目录存在,则设置此目录为节点的父级目录。

3.根据权利要求1所述的基于java实现目录排序方法,其特征在于,所述步骤s3包...

【专利技术属性】
技术研发人员:臧利锋谢汶达赵音龙
申请(专利权)人:海纳致远数字科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1