一、apply、make、range代码实战
println(List.apply(1,2,3)) //1 2 3构成一个集合
println(List.make(3,5)) //5出现3次
println(List.range(1,5)) //左闭右开
println(List.range(9,1,-3)) //左闭右开,步长为-3
输出:
List(1, 2, 3)
List(5,5,5)
List(1, 2, 3, 4)
List(9, 6, 3)
二、unzip、flatten、contact、map2代码实战
val zipped = "abcde".toList zip List(1,2,3,4,5) //拉链操作 println(zipped) println(zipped.unzip) //拉链操作的逆向操作 println println(List(List('a', 'b'), List('c'), List('d', 'e')).flatten) //把所有集合中的元素放在一起,构成一个大的集合 println(List.concat(List(), List('b'), List('c'))) //作用同flatten
println
println(List.map2(List(10,20), List(10,10)) (_ * _))
//map2可以同时对两个集合进行map操作
//(_ * _)代表第一个集合相应位置的元素和第二个集合相应位置的元素相乘
输出:
List((a,1), (b,2), (c,3), (d,4), (e,5))
(List(a, b, c, d, e),List(1, 2, 3, 4, 5))
List(a, b, c, d, e)
List(b, c)
List(100,200)
参考资料来源于大数据梦工厂 深入浅出scala 第38讲 由王家林老师讲解