Scala Map keys() 方法示例
Map是Scala中常用的集合类型,而keys()方法可以用来获取Map中所有的key值,并组成一个新的集合返回。本文将为大家介绍Scala Map keys()方法的用法及示例。
阅读更多:Scala 教程
语法说明
Scala中Map的keys()方法的语法如下:
def keys: Iterable[K]
返回值为一个Iterable类型的集合,即包含了Map中所有的key值。
方法示例
下面我们来看一个简单的示例:
val map = Map("key1" -> "value1", "key2" -> "value2")
val keys = map.keys
println(keys)
输出结果为:
Set(key1, key2)
上述代码中创建了一个键值对Map,里面包含了两个元素,即”key1″ -> “value1″和”key2” -> “value2″。接着调用了Map的keys()方法,将返回一个包含所有key值的集合,即Set(“key1”, “key2”),最后通过println()输出了keys。
实际应用
Map的keys()方法在实际应用中也十分常见,下面以一个例子来说明其用法。
假设有一个用户信息的Map,如下所示:
val userMap = Map(
"user1" -> Map("name" -> "张三", "age" -> "30", "gender" -> "男"),
"user2" -> Map("name" -> "李四", "age" -> "25", "gender" -> "女"),
"user3" -> Map("name" -> "王五", "age" -> "40", "gender" -> "男")
)
其中,每个用户信息也是一个Map,包含了用户的名字、年龄和性别。现在要求从userMap中获取所有用户的名字,我们可以利用Map的keys()方法和foreach()方法来实现:
val userNames = scala.collection.mutable.ArrayBuffer[String]()
userMap.keys.foreach { key =>
userNames += userMap(key)("name").toString
}
println(userNames)
输出结果为:
ArrayBuffer(张三, 李四, 王五)
上述代码中我们先定义了一个可变ArrayBuffer类型的userNames与空初值,然后调用了Map的keys()方法,将返回包含有userMap中所有key值的集合。对于每个key,我们又根据其对应的value来获取用户的名字,在这里使用的是userMap(key)(“name”).toString语句来处理。最后将所有用户的名字添加到userNames中去。
结论
本文介绍了Scala中Map keys()方法的用法及示例。通过本文的讲解,相信大家已经了解了这个方法的基本概念及其实际应用。如果有疑问或者建议,欢迎大家在评论区留言。