scala的多种集合的使用之集Set的操作方法
Posted zhaohadoopone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala的多种集合的使用之集Set的操作方法相关的知识,希望对你有一定的参考价值。
1.给集添加元素
1)用+=、++=和add给可变集添加元素。
scala> var set = scala.collection.mutable.Set[Int]() set: scala.collection.mutable.Set[Int] = Set() scala> set += 1 res48: scala.collection.mutable.Set[Int] = Set(1) scala> set += (2,3) res49: scala.collection.mutable.Set[Int] = Set(1, 2, 3) scala> set ++= Vector(4,5) res50: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4) scala> set.add(6) res51: Boolean = true scala> set res52: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 6, 3, 4) scala> set.add(5) res53: Boolean = false
2)使用+和++方法,通过向前一个集添加元素生成一个新的集。
scala> val set = Set(1,3,5,2,7) set: scala.collection.immutable.Set[Int] = Set(5, 1, 2, 7, 3) scala> val set1 = set + (8,9) set1: scala.collection.immutable.Set[Int] = Set(5, 1, 9, 2, 7, 3, 8) scala> val set2 = set1 ++ List(10,11) set2: scala.collection.immutable.Set[Int] = Set(5, 10, 1, 9, 2, 7, 3, 11, 8)
2.从集中删除元素
1)处理可变集时,用-=和--=从集中删除元素。
scala> var set = scala.collection.mutable.Set(1,2,3,4,5) set: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4) scala> set -= 1 res57: scala.collection.mutable.Set[Int] = Set(5, 2, 3, 4) scala> set -= (2,3) res58: scala.collection.mutable.Set[Int] = Set(5, 4) scala> set --= Array(4,5) res59: scala.collection.mutable.Set[Int] = Set()
2)处理可变集,retain和clear删除集中元素。
scala> var set = scala.collection.mutable.Set(1,2,3,4,5) set: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4) scala> set.retain(_ > 2);println(set) Set(5, 3, 4) scala> set.clear;println(set) Set()
3)处理可变集时,remove的返回值可以提示集是否有元素被删除。
scala> var set = scala.collection.mutable.Set(1,2,3,4,5) set: scala.collection.mutable.Set[Int] = Set(1, 5, 2, 3, 4) scala> set.remove(2);println(set) Set(1, 5, 3, 4) scala> set.remove(3) res64: Boolean = true scala> set res65: scala.collection.mutable.Set[Int] = Set(1, 5, 4)
4)处理不可变集时,可以使用-和--操作符删除元素,同时将结果重新赋给一个新的变量。
scala> val s1 = Set(1,2,3,4,5) s1: scala.collection.immutable.Set[Int] = Set(5, 1, 2, 3, 4) scala> val s2 = s1 -1 s2: scala.collection.immutable.Set[Int] = Set(5, 2, 3, 4) scala> val s3 = s2 - (2,3) s3: scala.collection.immutable.Set[Int] = Set(5, 4) scala> val s4 = s3 -- Array(4,5) s4: scala.collection.immutable.Set[Int] = Set()
3.使用可排序集
1)SortedSet返回元素时有序的。
scala> val s = scala.collection.SortedSet(3,1,2,5,6,9) s: scala.collection.SortedSet[Int] = TreeSet(1, 2, 3, 5, 6, 9) scala> val s = scala.collection.SortedSet("c","g","a","b") s: scala.collection.SortedSet[String] = TreeSet(a, b, c, g)
2)LinkedHashSet按照插入顺序保存元素的。
scala> val s = scala.collection.mutable.LinkedHashSet(10,8,3,5,7) s: scala.collection.mutable.LinkedHashSet[Int] = Set(10, 8, 3, 5, 7)
以上是关于scala的多种集合的使用之集Set的操作方法的主要内容,如果未能解决你的问题,请参考以下文章
scala 高级十六 scala 集合和集合的高级特性 map flatten fllatmap zip reduce zip 等操作