📅  最后修改于: 2023-12-03 15:19:58.965000             🧑  作者: Mango
Scala集合(ListSet)是一种无序不可重复的集合,底层实现是基于列表(List)的,但是不同于List,ListSet中的元素是无序的。
可以使用以下方法来创建ListSet:
import scala.collection.immutable._
// 创建空的ListSet
val emptyListSet = ListSet.empty[Int]
// 创建带元素的ListSet
val listSet = ListSet(1, 2, 3, 4, 5)
可以使用+
或++
方法向ListSet添加元素,+
添加单个元素,++
添加多个元素:
val listSet1 = ListSet(1, 2, 3, 4, 5)
val listSet2 = listSet1 + 6
val listSet3 = listSet1 ++ List(7, 8, 9)
println(listSet1) // ListSet(1, 2, 3, 4, 5)
println(listSet2) // ListSet(1, 2, 3, 4, 5, 6)
println(listSet3) // ListSet(1, 2, 3, 4, 5, 7, 8, 9)
可以使用-
或--
方法从ListSet中删除元素,-
删除单个元素,--
删除多个元素:
val listSet1 = ListSet(1, 2, 3, 4, 5)
val listSet2 = listSet1 - 5
val listSet3 = listSet1 -- List(3, 4)
println(listSet1) // ListSet(1, 2, 3, 4, 5)
println(listSet2) // ListSet(1, 2, 3, 4)
println(listSet3) // ListSet(1, 2, 5)
可以使用foreach
、map
和filter
等方法来遍历ListSet:
val listSet = ListSet(1, 2, 3, 4, 5)
// 遍历ListSet并打印元素
listSet.foreach(println)
// 将每个元素加倍
val doubledListSet = listSet.map(_ * 2)
doubledListSet.foreach(println)
// 过滤掉所有偶数元素
val oddsListSet = listSet.filter(_ % 2 != 0)
oddsListSet.foreach(println)
ListSet中的元素类型可以是任何类型,例如:
case class Person(name: String, age: Int)
val alice = Person("Alice", 25)
val bob = Person("Bob", 30)
val charlie = Person("Charlie", 35)
val peopleListSet = ListSet(alice, bob, charlie)
println(peopleListSet) // ListSet(Person(Alice,25), Person(Bob,30), Person(Charlie,35))
ListSet是基于列表(List)实现的一种无序不可重复的集合,没有重复元素。ListSet可以用于存储任何类型的元素,并支持添加、删除和遍历等常见操作。