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 @   学而不思则罔!  阅读(38)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示