Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。
Scala 集合分为可变的和不可变的集合。
默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set 包
var set = Set("a","b","c") //res0: scala.collection.immutable.Set[String] = Set(a, b, c, d) 生成新的Set //源码: def + (elem: Any): Set[Any] = new Set1(elem) set += "d" //增加 因为是不可变 实际是set = set + "b" //源码: val set2 = set.drop(1)//减少 println(set2) //a;b;c set的元素还是原始的 println(set.getClass.getName +":"+set)
引入scala.collection.mutable.Set包
import scala.collection.mutable.Set //muSet: scala.collection.mutable.Set[String] = Set(c, a, b) //无序Set val muSet = Set("a","b","c") //res2: scala.collection.mutable.Set[String] = Set(c, d, a, b) 在muSet基础上增加 //源码: override def + (elem: A): This = clone() += elem muSet += "e" // 实际调用的可变Set的+=方法 println(muSet) muSet.add("d") muSet.remove("c") //c:d:a:b set的元素已经改变 println(muSet.getClass.getName +":"+muSet) println(muSet.head+ " >>返回列表中的第一个元素") println(muSet.last+ " >>返回列表中的最后一个元素") println(muSet.init.mkString(",")+ " >>返回除最后一个元素外的所有元素组成的Set") println(muSet.tail.mkString(",")+ " >>返回Set中除第一个元素外的所有元素组成的Set") println(muSet.size +">>返回Set大小")
连接集合
//连接集合 //scala.collection.immutable.Set[String] val set0 = Set("a","b","c") //scala.collection.immutable.Set[Int] val set3 = Set(1,2,3) //++ 作为运算符使用 val set4 = set0 ++ set3 //scala.collection.immutable.Set[Any] println(set4.getClass.getName + ":" + set4) // ++ 作为方法使用 val set5 = set0.++(set3) println(set4.getClass.getName + ":" + set5)
查找集合中最大与最小元素
val num = Set(5,6,9,20,30,45) // 查找集合中最大与最小元素 println( "Set(5,6,9,20,30,45) 集合中的最小元素是 : " + num.min ) println( "Set(5,6,9,20,30,45) 集合中的最大元素是 : " + num.max )
交集、合并、差集、集合拆分
val num1 = Set(5,6,9,20,30,45) val num2 = Set(50,60,9,20,35,55) // 交集 println( "num1.&(num2) : " + num1.&(num2) ) println( "num1.intersect(num2) : " + num1.intersect(num2) ) //合并 不允许重复 println("union:" + num1.union(num2)) //差集 去掉num1在num2中的元素 println("diff:" + num1.diff(num2)) //把集合拆分为两个容器,第一个由前 3 个元素组成,第二个由剩下的元素组成 val num3 = num1.splitAt(3) println(num3._1) println(num3._2)
相关推荐
Scala学习笔记,大全笔记
学习scala笔记,学习scala笔记,学习scala笔记,学习scala笔记,学习scala笔记,
该文档详细的讲述了Scala的基础操作方法和高级使用方法
本书介绍Scala基本语法、构造。以及如何将您已经知道的复制java语法转换为Scala,了解Scala除了javabecome之外还提供了哪些功能编程概念和惯用技巧和建议,这些技巧和建议在将现有java项目转换为Scala时非常有用
scala 学习笔记 方法 函数 类 对象 特质 推断 注解 编译 隐式转换 尾递归 元组 列表
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
第3讲-Scala编程详解:基础语法 共8页 第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门...
Learn Scala is split into four parts: a tour of Scala, a comparison between Java and Scala, Scala-specific features and functional programming idioms, and finally a discussion about adopting Scala in...
本书是Scala编程语言的权威教程,由该语言的设计师Martin Odersky共同编写。
ScalaOverview.pdf ScalaTutorial.pdf ProgrammingInScala.pdf(这本是书) 博文链接:https://dogstar.iteye.com/blog/182673
[Scala学习笔记-中文资料] 从java角度看Scala
Scala是一门类Java的编程语言,它结合了面向对象编程和函数式编程。Scala是纯面向对象的,每个值都是一个对象,对象的类型和行为由类定义,不同的类可以通过混入(mixin)的方式组合在一起。
scala-learn:scala学习笔记
赠送jar包:scala-xml_2.11-1.0.4.jar; 赠送原API文档:scala-xml_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-xml_2.11-1.0.4-sources.jar; 赠送Maven依赖信息文件:scala-xml_2.11-1.0.4.pom; 包含翻译后的API...