scala 資料結構(十二):集合例項(一)基本屬性和常用的操作、衍生集合、集合計算初級函式
阿新 • • 發佈:2020-10-13
例項一:
package com.atguigu.scala.chapter07 /** * Author: Felix * Date: 2020/5/4 * Desc: 基本屬性和常用的操作 */ object Scala09_TestFun { def main(args: Array[String]): Unit = { val list: List[Int] = List(1,2,3,4,5,6) //(1)獲取集合長度 //println(list.length) //(2)獲取集合大小 //println(list.size) //(3)迴圈遍歷//println(list) //list.foreach(println) //(4)迭代器 //for (elem <- list.iterator) { // println(elem) //} //(5)生成字串 //val res: String = list.mkString(",") //println(res) //(6)是否包含 println(list.contains(1)) } }
例項二:
package com.atguigu.scala.chapter07 /** * Author: Felix * Date: 2020/5/4 * Desc: 衍生集合*/ object Scala10_TestFun { def main(args: Array[String]): Unit = { val list1 = List(1,2,3,4,5,6,7) val list2 = List(4,5,6,7,8,9,10,11,12) //(1)獲取集合的頭 1 //println(list1.head) //(2)獲取集合的尾(不是頭的就是尾) List(2, 3, 4, 5, 6, 7) //println(list1.tail) //(3)集合最後一個數據 7 //println(list1.last)//(4)集合初始資料(不包含最後一個) //println(list1.init) //(5)反轉 //println(list1.reverse) //(6)取前(後)n個元素 //println(list1.take(3)) //println(list1.takeRight(3)) //(7)去掉前(後)n個元素 //println(list1.drop(3)) //println(list1.dropRight(3)) //(8)並集 //val newList: List[Int] = list1.union(list2) //println(newList) //(9)交集 //val newList: List[Int] = list1.intersect(list2) //(10)差集 //val newList: List[Int] = list1.diff(list2) //val newList: List[Int] = list2.diff(list1) //println(newList) //(11)拉鍊 //println(list1.zip(list2)) //(12)滑窗 for (elem <- list1.sliding(3,3)) { println(elem) } } }
例項三:
package com.atguigu.scala.chapter07 /** * Author: Felix * Date: 2020/5/4 * Desc: 集合計算初級函式 */ object Scala11_TestFun { def main(args: Array[String]): Unit = { val list: List[Int] = List(5,1,8,2,-3,4) //(1)求和 //println(list.sum) //(2)求乘積 //println(list.product) //(3)最大值 //println(list.max) //(4)最小值 //println(list.min) //(5)排序 sorded|sortBy|sortWith //println(list.sorted.reverse) //如果函式引數和函式體是一致的情況,那麼不能簡化 //println(list.sortBy(elem => elem)) //按照集合中元素的絕對值進行排序 //println(list.sortBy(elem => elem.abs)) //println(list.sortBy(_.abs)) //println(list.sortBy(elem => elem).reverse) println(list.sortBy(elem => -elem)) //println(list.sortWith((a:Int,b:Int)=>{a < b})) println(list.sortWith(_ > _)) } }