我希望首先根據長度對包含(word,word.length)的列表進行排序,然後按字母順序對單詞進行排序。因此,考慮:"I am a girl"
輸出應該是a:1, I:1, am:2, girl:4
我有以下的代碼件,它的工作原理,但並不適用於所有的例子基於第二個屬性的Scala排序列表,然後是第一個
val lengths = words.map(x => x.length)
val wordPairs = words.zip(lengths).toList
val mapwords = wordPairs.sort (_._2 < _._2).sortBy(_._1)
從上面得到輸出你添加一個映射函數'val output:Array [String] = words.sortBy(w => w.length - > w.toLowerCase)map {x => x +「:」 + x.length}' – korefn
+1,你每天都會學到一些東西。在查看文檔後,它的工作原理是'Ordering'對象爲元組提供了字典順序(請參見implicits'Ordering.Tuple *') –