我想排序列表第一个属性和第二个元素的原始位置。所以Groovy - 按属性排序,然后按原始列表索引
[[primaryProperty:2,foo:a],[primaryProperty:1,foo:c],[primaryProperty:1,foo:b]]
将成为:
[[primaryProperty:1,foo:c],[primaryProperty:1,foo:b],[primaryProperty:2,foo:a]]
我不能一个属性(例如 “CURRENTINDEX”)添加到地图。是否有这样的属性是我可以使用的排序函数的一部分?像这样:
list.sort{ a, b ->
Integer returnVal = b.primaryProperty <=> a.primaryProperty
if(returnVal==0) {
return a.index <=> b.index
} else {
return returnVal
}
}
我宁愿这样做一个常规的方式,而不是创建和排序包装如果可能的话。
'我不能在地图上添加属性(例如“currentIndex”) - 为什么? – injecteer
它实际上是我的代码中的一个对象。我只是举一个例子。 – Anonymous1