Scala练习题01:找出列表中最后一个元素

来源:互联网 发布:网络通,浏览器打不开 编辑:程序博客网 时间:2024/05/17 21:40
//     Scala:Find the last element of a list.//     Scala:找出列表中最后一个元素//     示例://     scala> last(List(1, 1, 2, 3, 5, 8))//     res0: Int = 8package com.yl.problemobject Problem01 {  def main(args: Array[String]){    //1、Scala内置的方法实现 List.last    def lastBuiltin[A](ls: List[A]): A = ls.last    println("Scala内置的方法实现结果:" + lastBuiltin(List(1, 1, 2, 3, 5, 8)))    println("Scala内置的方法实现结果:" + lastBuiltin(List(1, 3, 4, 5, 7, 9)))    //2、利用Scala的模式匹配实现    def lastRecursive[A](ls: List[A]): A = ls match {      case h :: Nil  => h                      //一个元素则直接获取      case _ :: tail => lastRecursive(tail)    //剩余元素列表继续循环执行,直至剩最后一个元素为止      case _         => throw new NoSuchElementException //其他情况抛出异常    }    println("Scala模式匹配实现的结果:" + lastRecursive(List(1, 1, 2, 3, 5, 8)))    println("Scala模式匹配实现的结果:" + lastRecursive(List(1, 3, 4, 5, 7, 9)))  }}

执行结果:

Scala内置的方法实现结果:8Scala内置的方法实现结果:9Scala模式匹配实现的结果:8Scala模式匹配实现的结果:9
0 0
原创粉丝点击