我想排序列表第一個屬性和第二個元素的原始位置。所以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