Scala排序清单
示例
假设以下列表,我们可以采用多种方式进行排序。
val names = List("Kathryn", "Allie", "Beth", "Serin", "Alana")的默认行为sorted()是使用math.Ordering,它对字符串进行字典排序:
names.sorted //结果显示在:列表(Alana,Allie,Beth,Kathryn,Serin)
sortWith允许您使用比较功能提供自己的订购:
names.sortWith(_.length < _.length) //结果显示在:列表(Beth,Allie,Serin,Alana,Kathryn)
sortBy允许您提供转换功能:
//一组元音要使用
val vowels = Set('a', 'e', 'i', 'o', 'u')
//计算名称中元音的功能
def countVowels(name: String) = name.count(l => vowels.contains(l.toLower))
//按元音数量排序
names.sortBy(countVowels)
//结果是:列表(Kathryn,Beth,Serin,Allie,Alana)您始终可以使用`reverse来反转列表或排序列表:
names.sorted.reverse //结果:列表(Serin,Kathryn,Beth,Allie,Alana)
列表也可以使用Java方法java.util.Arrays.sort及其Scala包装器进行排序scala.util.Sorting.quickSort
java.util.Arrays.sort(data) scala.util.Sorting.quickSort(data)
如果可以避免集合转换和拆箱/装箱,则这些方法可以在对较大的集合进行排序时提高性能。有关性能差异的更详细讨论,请阅读有关ScalaCollectionsorted,sortWith和sortByPerformance的信息。
热门推荐
10 感谢韩语老师祝福语简短
11 升职文案高级祝福语简短
12 花童结婚祝福语大全简短
13 向国庆送祝福语简短
14 什么寄语简短祝福语女生
15 客户回礼祝福语大全简短
16 女孩生日祝福语简短创意
17 家长回复节日祝福语简短
18 给外婆敬酒祝福语简短