Scala 集合Set-1

Scala 集合Set-1

集合 是一个只包含 唯一项目 的集合。 集合的唯一性是由set所持有的类型的==方法定义的。如果你试图在集合中添加一个重复的项目,那么set会悄悄地抛弃你的请求。

语法

// 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._包下定义一个可变的集合,如下面的例子所示。
  • 一个集合有各种方法来添加、删除、清除、大小等,以提高集合的使用。
  • 在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()

已排序的集合

在集合中, 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程