mutableSet +=5 mutableSet -=2 println(mutableSet)// Set(5, 3, 4) valanother=mutableSet.toSet println(another.getClass.getName)// scala.collection.immutable.Set 注意:虽然可变Set和不可变Set都有添加或删除元素的操作,但是有一个非常大的差别。对不可变Set进行操作,会产生一个新的set,原来的set并...
scala> val list5 = list1.+:(0) list5: List[Int] = List(0, 1, 2, 3) scala>val list5 = list1.+:(0) list5: List[Int] = List(0, 1, 2, 3) scala>val list6 = list1 :+ 4 list6: List[Int] = List(1, 2, 3, 4) scala>val list7 = List(5,6,7) list7: List[In...
scala>set1++=Set(4,5,6) //向set1里面添加一个set里面的内容追加,使用++=操作方法 res75: set1.type = HashSet(1, 2, 3, 4, 5, 6) scala> set1 res76: scala.collection.mutable.HashSet[Int] = HashSet(1, 2, 3, 4, 5, 6) //追加一个set内容成功 scala>set1 ++= Set(5,6,7) ...
1.1 Traversable——特质 Traversable是容器(collection)类的最高级别特性,序列Seq()、集Set()、映射map(key->value)三大类间接继承了其方法,Traversable类提供了所有集合支持的API,也就是序列Seq()、集Set()、映射map(key->value)等这些集合在使用时,基本可以使用Traversable类提供的方法,但其中一些方法只有序列Seq(...
1.Set、Map 是Java中也有的集合。 2.Seq是 Java 没有的,我们发现 List 归属到 Seq 了,因此这里的 List 就和 java 不是同一个概念了。 3.我们前面的 for 循环有一个 1 to 3 ,就是IndexedSeq下的Vector。 4.String 也是属于IndexeSeq。 5.我们发现经典的数据结构比如Queue和Stack被归属到LinearSeq。
Scala中的集合体系主要包括:Iterable、Seq(IndexSeq)、Set(SortedSet)、Map(SortedMap)。其中Iterable是所有集合trait的根trait。实际上Seq、Set、和Map都是子trait。 Seq:是一个有先后次序的值的序列,比如数组或列表。IndexSeq允许我们通过它们的下标快速的访问任意元素。举例来说,ArrayBuffer是带下标的,但是链表不是...
集合类型:Seq var coll = List(1,2,3) val elem = 4 print(coll:+elem) //运行结果 List(1, 2, 3, 4) 1. 2. 3. 4. 5. 操作符:coll+elem 或 coll+(e1,e2,...) 集合类型:Set&Map ...
Scala中常用的数据结构,包括Array, Tuple,可变和不可变的Seq, Set, Map等。下图大致介绍了Scala中常用数据结构,各种数据结构的详细继承关系和实现,可以参考源码。 Tuple Tuple元组,则是可以通过下标取值<tupe._n>,元组也是固定不变的,一般可以用于函数的多个返回值。元组最多可以放入22个元素——Tuple22,为什么是22...
43 def toList: List[A] 返回List,包含了 Map 的所有元素44 def toSeq: Seq[A] 返回Seq,包含了 Map 的所有元素45 def toSet: Set[A] 返回Set,包含了 Map 的所有元素46 def toString(): String 返回字符串对象更多方法可以参考 API文档Scala 集合...
Scala中的Set 和 Map集合包含的类与Java相类似,不同的是Seq下面分为IndexedSeq和LinearSeq两个特质。 scala中的String就是java.lang.String,和集合无直接关系,所以是虚箭头,是通过Perdef中的低优先级隐式转换来做到的。经过隐式转换为一个包装类型后就可以当做集合了。