码迷,mamicode.com
首页 > 其他好文 > 详细

Scala foldLeft 方法实现自定义的 reverse 方法

时间:2015-02-04 18:59:52      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

1, 常规实现:

scala> val list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)

scala> list.foldLeft(List.empty[Int])((res, cur) => cur::res)
res0: List[Int] = List(5, 4, 3, 2, 1)



2, 加上泛型:

scala> val list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)

scala> def reverse[T](list: List[T]) =
     | list.foldLeft(List.empty[T])((res,cur) => cur::res)
reverse: [T](list: List[T])List[T]

scala> reverse(list)
res1: List[Int] = List(5, 4, 3, 2, 1)

scala> val l = List("aa","bb","tt","yy")
l: List[String] = List(aa, bb, tt, yy)

scala> reverse(l)
res2: List[String] = List(yy, tt, bb, aa)





Scala foldLeft 方法实现自定义的 reverse 方法

标签:

原文地址:http://my.oschina.net/brucegao/blog/375392

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!