📜  斯卡拉 |调用地图的方法 |第一组

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

斯卡拉 |调用地图的方法 |第一组

先决条件 - Scala 地图。

在 Scala 中,最重要的方法是调用Map 。 Scala 方法是类的一部分,它具有名称、签名、可选的一些注释以及任何字节码。被解释为某个对象成员的函数称为方法,并且映射方法与集合完全结合,此外它是由 Scala 的集合类执行的Traversable特征的成员(Traversable 说明了许多具体方法) .

调用 Scala Map 的最主要的方法如下:

  • def ++(xs: 地图[(A, B)]): 地图[A, B]
    此方法用于连接两个或多个 Map。在 Concatenating Maps 中,它将分隔相同的键。
    例子:
    // Scala program to concatenate two Map
      
    // Creating Object
    object GFG 
    {
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating maps
            val group1 = Map("Nidhi" -> 23, "Rahul" -> 18)
            val group2 = Map("Geeta" -> 22, "Rahul" -> 18)
      
            // using ++ as a method
            val concatenate = group1.++(group2)
      
            // Displays concatenated map
            println( "Concatenation is: " + concatenate)
        }
    }
    
    输出:
    Concatenation is: Map(Nidhi -> 23, Rahul -> 18, Geeta -> 22)
    

    在这里,两个 Map 中都存在键“Rahul”,因此在连接两个 Map 时,会删除相似的一个。

  • def -(elem1: A, elem2: A, elems: A*): 地图[A, B]
    此方法用于删除参数中存在的键集。因此,它返回一个新地图,其中包含该地图的所有元素,但这些参数除外。
    例子:
    // Scala program to delete keys
      
    // Creating object
    object GFG
    {
          
        // Main method
        def main(args: Array[String]) 
        {
      
            // Creating mutable map 
            val m = scala.collection.mutable.Map[String, Int]("Geeta" -> 21, "Nidhi" -> 23) 
          
            // using - as a method
            val c = m.-("Geeta")
      
            // Displays a new map
            println( "The new Map returns: " + c)
        }
    }
    
    输出:
    The new Map returns: Map(Nidhi -> 23)
    

    因此,新地图只包含“Nidhi”,“Geeta”被删除。

  • def get(key: A): 选项[B]
    此方法用于返回与方法中给出的值相对应的键作为参数。
    例子:
    // Scala program to get values
    // corresponding to the key
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Rahul" -> 18)
            val n = Map("Geeta" -> 22, "Rahul" -> 18)
      
            // using 'get' as a method
            val x = m.get("Rahul")
            val y = n.get("Nidhi")
      
            // Displays key corresponding 
            // to the given values 
            println(x)
            println(y)
        }
    }
    
    输出:
    Some(18)
    None
    

    在这里,“Rahul”返回其对应的值,但“Nidhi”返回None ,因为该键与给定的 Map 无关。

  • 定义迭代器:迭代器[(A,B)]
    该方法用于返回一个迭代器。
    例子:
    // Scala program to return
    // an iterator
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Rahul" -> 18)
            val n = Map("sonu" -> 16, "Nisha" -> 21)
      
            // using 'iterator' as a method
            val x = m.iterator
            val y = n.iterator
      
            // Displays if the iterator
            // is empty or not
            println(x)
            println(y)
        }
    }
    
    输出:
    non-empty iterator
    non-empty iterator
    

    在这里,两个 Map 都是非空的,因此返回非空迭代器。

  • def addString(b: StringBuilder): StringBuilder
    此方法用于将 Map 的每个元素添加到StringBuilder
    例子:
    // Scala program to add the elements
    // of Map to the StringBuilder
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Nisha" -> 21)
            val n = Map("sonu" -> 16, "Rahul" -> 18)
      
            // using 'addString' as a method
            val x = m.addString(new StringBuilder())
            val y = n.addString(new StringBuilder())
      
      
            // Displays elements in the
            // StringBuilder
            println(x)
            println(y)
        }
    }
    
    输出:
    Nidhi -> 23Nisha -> 21
    sonu -> 16Rahul -> 18
    

    因此,元素在 StringBuilder 中返回。

  • def addString(b: StringBuilder, sep: String): StringBuilder
    此方法将 Map 的元素添加到 StringBuilder 并在元素之间添加分隔符。
    例子:
    // Scala program to add the elements
    // of Map to the StringBuilder and 
    // also add a separator
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Nisha" -> 21)
            val n = Map("sonu" -> 16, "Rahul" -> 18)
      
            // using 'addString' as a method
            // and adding a separator to it
            val x = m.addString(new StringBuilder(), "_")
            val y = n.addString(new StringBuilder(), "_")
      
            // Displays elements in the
            // StringBuilder with the 
            // separator
            println(x)
            println(y)
        }
    }
    
    输出:
    Nidhi -> 23_Nisha -> 21
    sonu -> 16_Rahul -> 18
    

    因此,在 StringBuilder 中返回的元素带有分隔符。

  • def 应用(键:A):B
    它有助于在 Map 中搜索键。
    例子:
    // Scala program to search 
    // a key value
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Nisha" -> 21)
            val n = Map("sonu" -> 16, "Rahul" -> 18)
      
            // using 'apply' method
            val x = m.apply("Nisha")
            val y = n.apply("sonu")
      
            // Displays values of 
            // the key 
            println(x)
            println(y)
        }
    }
    
    输出:
    21
    16
    

    在这里,如果搜索到的键不存在,则找不到键值。

  • def clear(): 单位
    这用于清除地图。
    注意:值 clear 是 scala.collection.mutable.Map[String, Int] 的成员。
    例子:
    // Scala program to clear
    // the Map
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating mutable map
            val n = scala.collection.mutable.Map("Nidhi" -> 23, 
                                                "Nisha" -> 21)
      
            // using 'clear' method
            val x = n.clear()
      
            //Displays empty Map 
            println(x)
        }
    }
    
    输出:
    ()
    

    在这里,可变 Map 的键被删除。

  • def clone(): 地图[A, B]
    此方法用于制作接收者对象的副本。
    注意:值克隆是 scala.collection.mutable.Map[String, Int] 的成员。
    例子:
    // Scala program to make
    // a copy of the receivers 
    // object
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating mutable map
            val n = scala.collection.mutable.Map("Nidhi" -> 23,
                                            "Nisha" -> 21)
      
            // using 'clone' method
            val x = n.clone()
      
            // Displays copied keys
            println(x)
        }
    }
    
    输出:
    Map(Nidhi -> 23, Nisha -> 21)
    

    在这里,接收者对象的副本被返回。

  • def 包含(键:A):布尔值
    此方法用于检查密钥是否存在于 Map 中。如果密钥存在,则返回 true,否则返回 false。
    例子:
    // Scala program to check if 
    // the key is present or not
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Rahul" -> 18)
            val n = Map("sonu" -> 16, "Nisha" -> 21)
      
            // using 'contains' method
            val x = m.contains("Nidhi")
            val y = n.contains("Rahul")
      
            // Displays true if the key 
            // is present else false
            println(x)
            println(y)
        }
    }
    
    输出:
    true
    false
    

    在这里,“Nidhi”存在于地图中,因此返回 true,但“Rahul”不存在于给定地图中,因此返回 false。

  • def copyToArray(xs: Array[(A, B)]): 单位
    此方法有助于将 Map 的键对复制到数组。
    例子:
    // Scala program to copy keys 
    // to an Array
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18)
      
            // Creating Array
            val x: Array[Any] = Array(0, 0, 0, 0, 0)
      
            // using 'copyToArray' method
            m.copyToArray(x)
      
            // Displays keys copied in
            // the Array
            for(m1 <-x)
                println(m1)
        }
    }
    
    输出:
    (Nidhi,23)
    (Rahul,18)
    0
    0
    0
    

    这里将 Map 的两个键复制到 Array 中。

  • def count(p: ((A, B)) => Boolean): Int
    该方法用于计算 Map 中的键对。
    例子:
    // Scala program to count
    // pair of keys in the Map
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18)
      
            // using 'count' method
            val y = m.count(z=>true)
      
            // Displays number of keys
            // in the Map
            println(y)
        }
    }
    
    输出:
    2
    

    在这里,Map 中存在两个键,因此返回两个。

  • def drop(n: Int): 地图[A, B]
    此方法用于删除前“n”个元素。
    例子:
    // Scala program to delete
    // first n elements
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18,
                        "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'drop' method
            val y = m.drop(2)
      
            // Displays all the elements of 
            // the map except the first two
            // elements
            println(y)
        }
    }
    
    输出:
    Map(Nisha -> 21, Rohit -> 16)
    

    在这里, drop(n)是所需的操作,其中前“n”个元素被删除,其余元素被返回。

  • def dropRight(n: Int): 地图[A, B]
    此方法用于删除最后的“n”个元素。
    例子:
    // Scala program to delete 
    // last n elements
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18, 
                        "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'dropRight' method
            val y = m.dropRight(2)
      
            // Displays all the keys of 
            // map except the last two
            // elements
            println(y)
        }
    }
    
    输出:
    Map("Nidhi" -> 23, "Rahul" -> 18)
    

    在这里, dropRight(n)是所需的操作,其中最后“n”个元素被删除并返回其余元素。

  • def dropWhile(p: ((A, B)) => Boolean): Map[A, B]
    此操作将删除元素,直到满足所述条件。
    例子:
    // Scala program to delete the
    // elements until the stated
    // condition is satisfied
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18,
                        "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'dropWhile' method
            val y = m.dropWhile(z=>true)
      
            // Displays empty map
            println(y)
        }
    }
    
    输出:
    Map()
    

    在这里, dropWhile是所需的操作,根据给定的条件,返回一个空 Map。

  • 默认为空:地图[A,B]
    该方法用于返回一个空的 Map。
    例子:
    // Scala program to form
    // an empty Map
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18,
                        "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'empty' method
            val y = m.empty
      
            // Displays empty map
            println(y)
        }
    }
    
    输出:
    Map()
    
  • def 等于(即:任何):布尔值
    此方法用于检查两个映射是否具有相同的键值对。
    例子:
    // Scala program to check if the
    // two maps have the same 
    // number of elements
      
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Maps
            val m = Map("Nidhi" -> 23, "Rahul" -> 18)
            val n = Map("Nisha" -> 21, "Rohit" -> 16)
      
            // using 'equals' method
            val y = m.equals(n)
      
            // Displays true if the maps are
            // equal else returns false
            println(y)
        }
    }
    
    输出:
    false
    

    这里,如果两个 Map 的键值对相同, equals方法返回 true,否则返回 false。

  • 定义初始化:地图[A,B]
    此方法用于返回 Map 的所有元素,除了最后一个元素。
    例子:
    // Scala program to return
    // all the elements of the
    // map except the last one
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18,
                        "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'init' method
            val y = m.init
      
            // Displays all the elements
            // except the last one
            println(y)
        }
    }
    
    输出:
    Map(Nidhi -> 23, Rahul -> 18, Nisha -> 21)
    

    这里,在 Map 的四个元素中,返回 Map 的前三个元素。

  • 最后一个:(A,B)
    此方法返回 Map 的最后一个元素。
    例子:
    // Scala program to find the 
    // last element
      
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating Map
            val m = Map("Nidhi" -> 23, "Rahul" -> 18,
                        "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'last' method
            val y = m.last
      
            // Displays the last element
            println(y)
        }
    }
    
    输出:
    (Rohit, 16)
    
  • def 删除(键:A):选项[B]
    此方法删除键并仅返回其值。
    例子:
    // Scala program to return the
    // value of the given key
      
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating mutable map
            val m = scala.collection.mutable.Map("Nidhi" -> 23,
                    "Rahul" -> 18, "Nisha" -> 21, "Rohit" -> 16)
      
            // using 'remove' method
            val y = m.remove("Rahul")
      
            // Displays the value associated
            // with the key in the argument
            println(y)
        }
    }
    
    输出:
    some(18)
    

    注意:remove是可变 Map 的成员。
    这些是 Scala 的主要方法,还有更多这样的方法。