gpt4 book ai didi

sorting - 用比较器语法进行常规排序

转载 作者:行者123 更新时间:2023-12-03 09:20:12 25 4
gpt4 key购买 nike

我只是被葛莱姆林弄湿了。我了解gremlin是基于groovy的。我找到了文档here,但是我仍然不确定语法的含义。

对于使用比较器进行排序的语法,我有些困惑:

m.sort{a,b -> a.value <=> b.value}

有人可以解释 {}之间的所有不同位是什么意思吗?

最佳答案

Closure使用的sort具有两个参数时,它的作用类似于传统的 Comparator 。也就是说,对于排序过程中进行的每个比较,两个元素ab之间,当第一个参数小于,等于或大于第二个参数时,它将返回负整数,零或正整数。

在您的特定方案中,比较是使用spaceship operator <=>的结果。换句话说,您正在按照升序的顺序对元素进行有效排序。

例如,如果您具有列表[ 3, 2, 1 ],则使用该排序类型would be [ 1, 2, 3 ]的结果。

因此,m.sort{a,b -> a.value <=> b.value}大致等效于使用以下compare函数:

int compare(a, b) {
if (a < b) {
return -1;
} else if (a > b) {
return 1;
} else {
return 0;
}
}

关于sorting - 用比较器语法进行常规排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com