斯卡拉 |调用地图的方法 |第一组
先决条件 - 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 的主要方法,还有更多这样的方法。