8
A
cevap
13
map.toList()
.sortedBy { (key, value) -> value }
.toMap()
0
Alex Filatov 'ın cevabı Sadece bir ekleme:
Boş birinci argüman (since Kotlin 1.1)
map.toList().sortedBy { (_, value) -> value }.toMap()
bırakabilir ya da referans sözdizimi kullanabilirsiniz
map.toList().sortedBy(Pair<*, String>::second).toMap()
ve sonucu hemen yinelemek istiyorsanız, t Eğer şöyle listesinin her çifti destructure çünkü o toMap()
çağrı:
map.toList().sortedBy(Pair<*, String>::second).forEach { (key, value) ->
// ...
}
aksi takdirde müteakip 'put's sonra sırasını garanti edemez, kendi' Map' uygulayan olmalıdır. ve 'SortedMap' yalnızca [Key] 'i destekler (http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html#comparator--). –