📜  设置在 Scala |第一组

📅  最后修改于: 2022-05-13 01:55:35.079000             🧑  作者: Mango

设置在 Scala |第一组

集合是仅包含唯一项的集合。集合的唯一性由集合持有的类型的 == 方法定义。如果您尝试在集合中添加重复项,则集合悄悄地丢弃您的请求。
句法:

// Immutable set
val variable_name: Set[type] = Set(item1, item2, item3)
or
val variable_name = Set(item1, item2, item3)

// Mutable Set
var variable_name: Set[type] = Set(item1, item2, item3)
or
var variable_name = Set(item1, item2, item3)

关于 Scala 中 Set 的一些要点

  • 在 Scala 中,可变集和不可变集都可用。可变集合是那些对象的值是变化的集合,但在不可变集合中,对象的值本身是不变的。
  • Scala 中的默认设置是不可变的。
  • 在 Scala 中,不可变集定义在 Scala.collection.immutable._ 包下,可变集定义在 Scala.collection.mutable._ 包下。
  • 我们还可以在 Scala.collection.immutable._ 包下定义一个可变集,如下例所示。
  • 一个 Set 有多种方法来添加、删除 clear、size 等,以增强 set 的使用。
  • 在 Scala 中,我们可以创建空集。
    句法:
    // Immutable empty set
    val variable_name = Set()
    
    // Mutable empty set
    var variable_name = Set()

示例 1:

// Scala program to illustrate the 
// use of immutable set
import scala.collection.immutable._
  
object Main 
{
    def main(args: Array[String]) 
    {
          
        // Creating and initializing immutable sets
        val myset1: Set[String] = Set("Geeks", "GFG", 
                            "GeeksforGeeks", "Geek123")
        val myset2 = Set("C", "C#", "Java", "Scala", 
                                          "PHP", "Ruby")
          
        // Display the value of myset1
        println("Set 1:")
        println(myset1)
          
        // Display the value of myset2 using for loop
        println("\nSet 2:")
        for(myset<-myset2)
        {
            println(myset)
        }
    }
}

输出:

Set 1:
Set(Geeks, GFG, GeeksforGeeks, Geek123)

Set 2:
Scala
C#
Ruby
PHP
C
Java

示例 2:

// Scala program to illustrate the 
// use of mutable set
import scala.collection.immutable._
  
object Main 
{
    def main(args: Array[String])
    {
          
        // Creating and initializing mutable sets
        var myset1: Set[String] = Set("Geeks", "GFG", 
                            "GeeksforGeeks", "Geek123")
        var myset2 = Set(10, 100, 1000, 10000, 100000)
          
        // Display the value of myset1
        println("Set 1:")
        println(myset1)
          
        // Display the value of myset2 
        // using a foreach loop
        println("\nSet 2:")
        myset2.foreach((item:Int)=>println(item))
    }
}

输出:

Set 1:
Set(Geeks, GFG, GeeksforGeeks, Geek123)

Set 2:
10
100000
10000
1000
100

示例 3:

// Scala program to illustrate the 
// use of empty set
import scala.collection.immutable._
  
object Main 
{
    def main(args: Array[String]) 
    {
          
        // Creating empty sets
        val myset = Set()
          
        // Display the value of myset
        println("The empty set is:")
        println(myset)
    }
}

输出:

The empty set is:
Set()

排序集

在 Set 中, SortedSet用于按排序顺序从集合中获取值。 SortedSet 仅适用于不可变集。
例子:

// Scala program to get sorted values 
// from the set
import scala.collection.immutable.SortedSet 
  
object Main
{
    def main(args: Array[String]) 
    {
          
        // Using SortedSet to get sorted values
        val myset: SortedSet[Int] = SortedSet(87, 0, 3, 45, 7, 56, 8,6)
        myset.foreach((items: Int)=> println(items))
    }
}

输出:

0
3
6
7
8
45
56
87