之前认为takewhile的功能与过滤一样,后来项目用takewhile发现数据不对,区别如下:
al s1 = List(1,2,3,4,10,20,30,40,5,6,7,8,50,60,70,80)
val r1 = s1.takeWhile( _ < 10)r1: List[Int] = List(1, 2, 3, 4)
takeWhile是从第一个元素开始,取满足条件的元素,直到不满足为止
val r2 = s1.filter( _ < 10)
r2: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8)
fiter取出所有满足条件的元素
差异:
fiter取所有的满足条件的元素;
takeWhile取出从第一个开始满足条件的元素,直到遇到不满足条件的元素