无序,不可重复。
Scala集合有三个基本操作:
head
返回集合第一个元素tail
返回一个集合,包含除了第一元素之外的其他元素isEmpty
在集合为空时返回true二.代码演示
A: 不可变Set
1.创建一个Set集合(默认是不可变的Set集合)
scala> val set1 = Set(1,2,3)
set1: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
2.操作符 + ,添加一个元素
scala> set1 + 4
res0: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4)
3.添加后不改变原有Set集合
scala> set1
res1: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
4.Set是不可重复的
scala> val set2 = Set(4,5,6,7,4,5)
set2: scala.collection.immutable.Set[Int] = Set(4, 5, 6, 7)
5.Set里面可以添加不同类型的元素
scala> val set3 = Set("aa","bb",1,3,2,2.5)
set3: scala.collection.immutable.Set[Any] = Set(1, 2, 3, aa, bb, 2.5)
6.俩不同的Set进行相加
scala> val set1 = Set(1,2,3)
set1: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> val set2 = Set(4,5,6)
set2: scala.collection.immutable.Set[Int] = Set(4, 5, 6)
scala> set1 ++ set2
res0: scala.collection.immutable.Set[Int] = Set(5, 1, 6, 2, 3, 4)
7.查看Set 类型和属性
scala> set1.getClass
res4: Class[_ <: scala.collection.immutable.Set[Int]] = class scala.collection.immutable.Set$Set3
B: 可变Set集合
1.需要自己手动导包
scala> import scala.collection.mutable.HashSet
import scala.collection.mutable.HashSet
2.创建一个空的,可变Set
scala> val set3 = new HashSet[Int]()
set3: scala.collection.mutable.HashSet[Int] = Set()
3.添加元素
scala> set3 +1
res5: scala.collection.mutable.HashSet[Int] = Set(1)
scala> set3 += 2
res6: set3.type = Set(2)
scala> set3 += 3
res7: set3.type = Set(2, 3)
4.俩个不同Set,进行合并
scala> set1
res10: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
scala> set3
res11: scala.collection.mutable.HashSet[Int] = Set(1, 2, 3)
scala> set3 ++= set1
res9: set3.type = Set(1, 2, 3)
5.Set中元素进行移除操作
scala> set3 -= 1
res14: set3.type = Set(2, 3)
scala> set3.remove(2)
res16: Boolean = true
scala> set3
res17: scala.collection.mutable.HashSet[Int] = Set(3)
Scala集合有三个基本操作:
1.head 返回集合第一个元素
tail 返回一个集合,包含除了第一元素之外的其他元素
isEmpty 在集合为空时返回true
object Test {
def main(args: Array[String]) {
val site = Set("1000phone", "Google", "Baidu")
val nums: Set[Int] = Set()
println( "第一网站是 : " + site.head )
println( "最后一个网站是 : " + site.tail )
println( "查看列表 site 是否为空 : " + site.isEmpty )
println( "查看 nums 是否为空 : " + nums.isEmpty )
}
}
查找集合中最大与最小元素
可以使用 Set.min 方法来查找集合中的最小元素,使用Set.max 方法查找集合中的最大元素
object Test {
def main(args: Array[String]) {
val num = Set(5,6,9,20,30,45)
//set集合遍历
for(x <- num) {
println(x)
}
// 查找集合中最大与最小元素
println( "Set(5,6,9,20,30,45) 集合中的最小元素是 : " + num.min )
println( "Set(5,6,9,20,30,45) 集合中的最大元素是 : " + num.max )
}
}
交集
可以使用 Set.&方法或 Set.intersect 方法来查看两个集合的交集元素
object Test {
def main(args: Array[String]) {
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) )
}
}
创建俩个Set
导入可变的Set
import scala.collection.immutable.HashSet
val set1 = Set(5,6,9,20,30,45)
val set2 = Set(50,60,9,20,35,55)
1.contains:是否包含某一元素,包含返回true,不包含返回false
set1.contains(10)// Boolean = false
2.&:交集运算
set1 & set2
set1.intersect(set2) // Set(20,9)
3.&~:差集运算
set1 &~ set2
set1.diff(set2) // Set(5, 6, 45, 30)
4.union:并集运算
set1.union(set2)
5.导入不可变的Set
scala.collection.immutable.Set[Int] = Set(5, 20, 6,60, 9, 45, 35, 50, 55, 30)
6.count:计算满足指定条件的集合元素个数
val fun = (x:Int) => x > 10
set1.count(fun) // Int = 3
7.iterator:获得一个迭代器,可用于集合遍历
val it = set1.iterator
while(it.hasNext){
println(it.next())
}
8.size:返回集合元素的数量
splitAt:将集合拆分为两个容器,第一个由前n个元素组成,第二个由
剩下的元素组成
set1.splitAt(5)// 返回一个元组
9.take:返回前n个元素
takeRight:返回后n个元
可以使用to{type}快速转换为其他集合类型
————保持饥饿,保持学习
Jackson_MVP