scala的練習題
阿新 • • 發佈:2018-12-23
//建立一個List
val lst0 = List(1,7,9,8,0,3,5,4,6,2)
//將lst0中每個元素乘以10後生成一個新的集合
解析 : lst0.map(_*10)
//將lst0中的偶數取出來生成一個新的集合
解析 : lst0.filter(_%2==0)
//將lst0排序後生成一個新的集合
解析 : lst0.sorted
//反轉順序
解析 : lst0.sorted.reverse
//將lst0中的元素4個一組,型別為Iterator[List[Int]]
解析 : lst0.grouped(4)
//將Iterator轉換成List
解析 : res28.toList
//將多個list壓扁成一個List
解析 : res29.flatten //ps 在scala命令模式中 可以用tab鍵自動提示
val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
//先按空格切分,在壓平
解析 : lines.flatMap(_.split(" "))
//平行計算求和
//化簡:reduce
//將非特定順序的二元操作應用到所有元素
//安裝特點的順序
Array[Int] = Array(1, 2, 3, 4, 5)
//摺疊:有初始值(無特定順序)
解析 : a.par.fold(10)(_+_) //其中par是並行執行緒的標誌 。
//摺疊:有初始值(有特定順序)
//聚合
val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))
val l1 = List(5,6,4,7)
val l2 = List(1,2,3,4)
//求並集
解析: l1.union(l2)
//求交集
解析:l1.intersect(l2)
//求差集
l1.diff(l2)
解析 : println(r3)
val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).mapValues(_.foldLeft(0)(_+_._2))
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).map(t=>(t._1, t._2.size)).toList.sortBy(_._2).reverse
val lst0 = List(1,7,9,8,0,3,5,4,6,2)
//將lst0中每個元素乘以10後生成一個新的集合
解析 : lst0.map(_*10)
//將lst0中的偶數取出來生成一個新的集合
解析 : lst0.filter(_%2==0)
//將lst0排序後生成一個新的集合
解析 : lst0.sorted
//反轉順序
解析 : lst0.sorted.reverse
//將lst0中的元素4個一組,型別為Iterator[List[Int]]
解析 : lst0.grouped(4)
//將Iterator轉換成List
解析
//將多個list壓扁成一個List
解析 : res29.flatten //ps 在scala命令模式中 可以用tab鍵自動提示
val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
//先按空格切分,在壓平
解析 : lines.flatMap(_.split(" "))
//平行計算求和
//化簡:reduce
//將非特定順序的二元操作應用到所有元素
//安裝特點的順序
Array[Int] = Array(1, 2, 3, 4, 5)
//摺疊:有初始值(無特定順序)
解析
//摺疊:有初始值(有特定順序)
//聚合
val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))
解析: arr.aggregate(0)(_+_.sum,_+_) //第一個下劃線和folder下劃線是一樣的都是將前面括號的初始值進行相加
val l1 = List(5,6,4,7)
val l2 = List(1,2,3,4)
//求並集
解析: l1.union(l2)
//求交集
解析:l1.intersect(l2)
//求差集
l1.diff(l2)
解析
val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).mapValues(_.foldLeft(0)(_+_._2))
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).map(t=>(t._1, t._2.size)).toList.sortBy(_._2).reverse