gpt4 book ai didi

scala - 如何在 Scala 中创建查找 map

转载 作者:行者123 更新时间:2023-12-04 17:27:12 26 4
gpt4 key购买 nike

虽然我知道有几种方法可以做到这一点,但我最感兴趣的是找到最惯用和最实用的 Scala 方法。

鉴于以下陈词滥调示例:

case class User(id: String)
val users = List(User("1"), User("2"), User("3"), User("4"))

创建 user.id -> User 的不可变查找映射的最佳方法是什么,以便我可以通过 user.id 执行快速查找。

在 Java 中,我可能会使用 Google-Collection 的 Maps.uniqueIndex虽然我不太关心它的独特属性。

最佳答案

您可以将用户保留在列表中并使用 list.find:

users.find{_.id == "3"} //returns Option[User], either Some(User("3")) or None if no such user

或者,如果要使用 Map,请将用户列表映射到 2 元组列表,然后使用 toMap 方法:
val umap = users.map{u => (u.id, u)}.toMap

这将返回一个不可变的 Map[String, User],然后你可以使用
umap contains "1" //return true

或者
umap.get("1") //returns Some(User("1"))

关于scala - 如何在 Scala 中创建查找 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6823588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com