加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

排序 – 使用比较器语法进行排序

发布时间: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;
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读