42_集合_Set

Set集合
* 特点
* 元素不重复且无序
* 分类
* 可变Set和不可变Set
*
import scala.collection.mutable

/*
* Set集合
*   特点
*       元素不重复且无序
*   分类
*       可变Set : 对象初始化后,元素个数和内容可以修改,修改后对象不会改变,也不会产生新的对象
*
* 不可变Set : 对象一旦被初始化后,元素个数和内容 将不会改变
* set - e 或者 set + e 会产生新的set,原对象不会改变 * * *
*/ //不可变set object setTest extends App { //1.初始化 var set1: Set[Int] = Set[Int](1, 2, 3, 4, 4, 4, 5, 0, 99) //2.打印 println(set1) //3.添加元素( 调用对象不改变,返回新对象) //尾部添加 var set2 = set1 + 100 //底层调用incl方法 //产生了新的对象,原对象不会改变 var set3 = set1.incl(100) println(set2) println(set3) println("======================") //4.删除元素(指定元素值) var set4 = set1 - 100 //底层调用excl方法 var set5 = set1.excl(5) println(set4) println(set5) //5.遍历set for (e <- set1) { println(e) } //6.foreach set1.foreach(println) println("=============") //集合并集(返回新集合) var set6 = Set(1, 2, 3, 4, 5) var set7 = Set(3, 4, 5, 6, 7) var set8 = set6 ++ set7 var set9 = set6.concat(set7) println(set8) println(set9) println(set6) println(set7) println("===============") //集合交集(返回新集合) var set10 = set6 & set7 var set11 = set6.intersect(set7) println(set10) println(set11) } //可变set (需要导包) object setTestVar extends App { //1.初始化 var set1 = mutable.Set(1, 2, 3, 3, 3) //2.添加元素(改变调用集合对象) set1 += 4 set1.addOne(5) //不会产生新的对象 println(set1) //3.添加元素(不改变调用集合对象) var set2 = set1 + 6 println(set1) //4.删除元素(改变调用自身对象) set1 -= 5 set1.subtractOne(4) println(set1) //5.打印集合 println(set1.mkString("-")) }

 

posted @ 2021-11-01 18:53  学而不思则罔!  阅读(46)  评论(0)    收藏  举报