【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]
在实际编程中,我们经常会用到一种操作,遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。Scala中可以通过filter操作来实现。
下面我们首先创建一个映射(可以把下面语句逐条拷贝到Scala解释器中执行):
val university = Map("XMU" -> "Xiamen University", "THU" -> "Tsinghua University","PKU"->"Peking University","XMUT"->"Xiamen University of Technology")
然后我们采用filter操作过滤得到那些学校名称中包含“Xiamen”的元素:
val universityOfXiamen = university filter {kv => kv._2 contains "Xiamen"}
下面,根据前面我们已经学习过的遍历映射的语句,我们可以把universityOfXiamen中的元素进行遍历全部打印出来:
universityOfXiamen foreach {kv => println(kv._1+":"+kv._2)}
可以得到以下结果:
XMU:Xiamen University
XMUT:Xiamen University of Technology
或者,我们也可以采用filter操作过滤得到那些学校名称中以字母“P”开头的元素:
val universityOfP = university filter {kv => kv._2 startsWith "P"}
下面,我们可以把universityOfP中的元素全部打印出来:
universityOfP foreach {kv => println(kv._1+":"+kv._2)}
可以得到以下结果:
PKU:Peking University