リストを最初にプロパティでソートしようとしていますが、もう1つは元のエレメントの配置でソートしようとしています。だから、Groovy - プロパティでソートしてから元のインデックスのインデックスに戻す
[[primaryProperty:2,foo:a],[primaryProperty:1,foo:c],[primaryProperty:1,foo:b]]
はなるだろう:私はマップにプロパティ(例えば "currentIndex")を追加することはできません
[[primaryProperty:1,foo:c],[primaryProperty:1,foo:b],[primaryProperty:2,foo:a]]
。私が使用できるソート関数の一部であるようなプロパティはありますか?私はこれに、むしろ、可能な場合ラッパーを作成し、ソートよりグルーヴィーな方法を行うことを好むだろう
list.sort{ a, b ->
Integer returnVal = b.primaryProperty <=> a.primaryProperty
if(returnVal==0) {
return a.index <=> b.index
} else {
return returnVal
}
}
:ような何か。あなたのコンパレータでindexOf()
を使用して試みることができる
'地図にプロパティ(例:「currentIndex」)を追加できません - なぜですか? – injecteer
これは実際に私のコード内のオブジェクトです。私は例を挙げていただけです。 – Anonymous1