Scala集合操作与类型推断详解
1. 列表操作与类型推断
1.1 列表的 zipped 方法
在 Scala 中, zipped
方法可以将多个列表的元素进行组合。需要注意的是, zipped
方法只会组合所有列表中共同出现的元素数量,多余的元素会被丢弃。例如:
scala> (List("abc", "de"), List(3, 2)).zipped.forall(_.length == _)
res64: Boolean = true
scala> (List("abc", "de"), List(3, 2)).zipped.exists(_.length != _)
res65: Boolean = false
这两个方法 forall
和 exists
类似于单列表版本的方法,只是它们操作的是多个列表的元素。
1.2 Scala 类型推断算法
在使用 sortWith
和 msort
时,比较函数的语法形式存在差异。例如:
scala> msort((x: Char, y: Char) => x > y)(abcde)
res66: List[Char] = List(e, d, c, b, a)
scala> abcde sort