首页 > 其他分享 >Scala Set集合

Scala Set集合

时间:2024-11-05 15:17:44浏览次数:6  
标签:Set val Scala println set1 set2 集合 mutable

1、Set的定义

        Scala的Set分为可变和不可变,默认情况下使用不可变的集合。如果想要使用可变集合,需要导入指定的包。Set集合的特点是无序不重复。当在Set集合中添加元素时,没有重复的元素,并且不保证顺序。如果集合中有重复的元素,Set会自动去除掉重复的元素,Set集合在调用apply方法时会对元素进行判断。

代码示例

// immutable 不可变,系统默认不可变Set
import scala.collection.immutable
// mutable 可变
import scala.collection.mutable
object Test26 {
  //Set: 1.元素不重复  去重! 2. 元素是无序的
  def main(args: Array[String]): Unit = {
   /* //格式
    val set1 = Set[Int](1)
    //  省略类型
    val set2 = Set(0, 1, 2, 3, 1, 2)
    println(set1)
    println(set2)*/
  /*  val set1 = immutable.Set("数学","语文","英语")
    val set2 = set1 + "物理"
    println(set1)
    println(set2)*/
    /*//不可变Set
    val set1 = mutable.Set("数学","语文","英语")
    // 1.添加 新Set
    val set2 = set1 + "物理"
    // 2.删除
    val set3 = set1 - "数学"
    // 3.添加一个Set
    val set4 = set3 ++ immutable.Set("语文","思政","体育")

    println(set4)*/
  //不可变Set
    val set1 = mutable.Set("数学","语文","英语")
    // 1.添加
    set1 += "物理"
    // 2.删除
    set1 -= "数学"
    // 3.添加一个Set: 自动消除重复项!
    set1 ++= mutable.Set("语文","思政","体育")
    // 4.判断是否存在这个元素,contains()的返回值类型是Boolean
    val rs = set1.contains("语文1")

    println(rs)
  }
}

标签:Set,val,Scala,println,set1,set2,集合,mutable
From: https://blog.csdn.net/2301_81373895/article/details/143509664

相关文章

  • Nuxt.js 应用中的 nitro:build:public-assets 事件钩子详解
    title:Nuxt.js应用中的nitro:build:public-assets事件钩子详解date:2024/11/5updated:2024/11/5author:cmdragonexcerpt:nitro:build:public-assets是Nuxt3中的一个生命周期钩子,在复制公共资产之后调用。该钩子使开发者能够在构建Nitro服务器之前,对公共资产进......
  • scala中类和对象
    1.面向对象的三大特征:封装,继承,多态2.创建类和对象a.用class来创建类,用new来创建对象。创建一个Person类并创建它的对象,然后将对象打印到控制台上objectMain{ //定义类 classPerson{} defmain(args:Array[String]):Unit={  println("Heeloworld") ......
  • PbootCMS常见报错(错误提示)集合
    后台图片上传提示:“上传失败:存储目录创建失败!”给静态资源目录(根目录下的static文件夹)增加权限,一般755或者777权限,推荐755权限设置。网站打开提示:“未检测到您服务器环境的sqlite3数据库扩展...”检查php.ini中是否已经开启sqlite3扩展。详细介绍->PbootCMS提示错误信息......
  • #Java-集合基础-ArrayList
    1.为什么使用集合集合是用来存储多个元素的,但是数组也同样可以实现多元素的存储为什么要用集合?数组的长度固定,当数组满之后无法再添加元素集合的长度跟随元素的数量自动变化,长度等于元素个数数组和集合还有存储数据类型方面的区别:数组可以存储基本数据类型和引用数据类......
  • scala的包及其导入
    Scala的包的定义:Scala的包用于解决类的命名冲突和类的文件管理。在引入类时加上包名可以区分不同的类,解决类名冲突的问题。 Scala的包创建步骤: 1.创建包:在src上右键,新建软件包2.填写包名:小写3.在包上右键,创建类。自动加入包名4.导入:import包名.类名  导入......
  • NSET or MSET算法--原理解析
    1.背景NSET/MSET是一种非线性的多元预测诊断技术,广泛应用于系统状态估计、故障诊断和预测等领域;相比于传统的线性模型和方法,NSET/MSET能够更好地处理非线性系统,并提供更准确的预测和诊断能力。在早期,MSET融合了模式识别技术和序贯概率比检验方法,主要应用于核电厂信号验证、......
  • Timing修复的几种方法之setup
     芯冰乐知识星球入口:芯冰乐之前的推文已经提到过D触发器的工作原理及setup和hold的相关介绍。如果没有看过的童鞋可以戳此处进行了解。下面我们看一下setup如果出现了violation是怎么解的。先看一下setup公式。setup_slack=(capture_clock_latency+phase_shift)-(la......
  • Scala的集合
    集合有很多种类,包括不同的接口set表示无序且不重复的集合packageqiqi//Set的特点:唯一(元素不相同)objectqqq{defmain(args:Array[String]):Unit={//valset1=Set[Int](1,2,3)//如果元素有相同的,则只保留一个!varset1=Set[Int](1,1,1,1,1)//va......
  • 集合/二进制运算合集
    RT,主要内容涉及有高维前缀和(子集DP),高维后缀和,高维差分,快速沃尔什变换,子集卷积。参考资料:link1link2知识点合集高维前缀和用于求解\(f(S)=\sum_{T\subseteqS}g(T)\)。for(inti=0;i<(1<<n);i++)f[i]=g[i];for(intj=0;j<n;j++){for(inti=0;i<(1<<n)......
  • 【C++篇】跨越有限与无限的边界:STL之set容器中的自我秩序与无限可能
    文章目录C++`set`容器详解:秩序与高效的数据管理前言第一章:C++`set`的概念1.1`set`的定义1.2`set`的特点第二章:`set`的构造方法2.1常见构造函数2.1.1示例:不同构造方法2.2相关文档第三章:`set`的常用操作3.1插入操作详解3.1.1使用`insert()`插入元素3.1......