排序 – 使用比较器语法进行排序
发布时间:2020-12-14 16:37:35 所属栏目:大数据 来源:网络整理
导读:我只是让我的脚湿润了gremlin。我明白,gremlin是基于groovy。我发现文档 here,但我仍然不确定语法是什么意思。 对于比较器排序的语法如何,我有点困惑: m.sort{a,b - a.value = b.value} 有人可以解释一下{和}意味着什么不同的位? 解决方法 当排序使用的
我只是让我的脚湿润了gremlin。我明白,gremlin是基于groovy。我发现文档
here,但我仍然不确定语法是什么意思。
对于比较器排序的语法如何,我有点困惑: m.sort{a,b -> a.value <=> b.value} 有人可以解释一下{和}意味着什么不同的位? 解决方法
当排序使用的Closure有两个参数时,它的作用就像传统的
Comparator .就是说,对于在排序期间完成的每??个比较,在两个元素a和b之间,它返回一个负整数,零或一个正整数第一个参数小于等于或大于第二个参数。
在您的特定情况下,比较是使用spaceship operator的结果。换句话说,您正在按顺序对您的元素进行排序。 例如,如果您有列表[3,2,1],则使用该类型would be [1,2,3]的结果。 因此,m.sort {a,b→ a.value< => b.value}大致相当于使用以下比较函数: int compare(a,b) { if (a < b) { return -1; } else if (a > b) { return 1; } else { return 0; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |