加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Scala中创建查找映射

发布时间:2020-12-16 18:40:18 所属栏目:安全 来源:网络整理
导读:虽然我知道有几种方法可以做到这一点,但我最感兴趣的是找到最惯用和最实用的 Scala方法. 给出以下陈腐的例子: case class User(id: String)val users = List(User("1"),User("2"),User("3"),User("4")) 什么是创建不可变查找的最佳方法user.id的地图 – 用
虽然我知道有几种方法可以做到这一点,但我最感兴趣的是找到最惯用和最实用的 Scala方法.

给出以下陈腐的例子:

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

什么是创建不可变查找的最佳方法user.id的地图 – >用户,以便我可以通过user.id执行快速查找.

在Java中,我可能会使用Google-Collection的Maps.uniqueIndex,尽管我不太关注它的独特属性.

解决方法

您可以将用户保留在List中并使用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"))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读