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

如何使用groupby在Scala中为地图值选择对象字段

发布时间:2020-12-16 09:59:24 所属栏目:安全 来源:网络整理
导读:这是一个新手 scala问题.我有一个带有getName()和getYearOfBirth()方法的Person对象的人员列表.我正在使用groupBy对Person对象进行分组,但我只想把它放在 因为Person将来会有很多其他字段,因此将其命名为地图.这些年是关键. val people = List(Person("Tom",
这是一个新手 scala问题.我有一个带有getName()和getYearOfBirth()方法的Person对象的人员列表.我正在使用groupBy对Person对象进行分组,但我只想把它放在
因为Person将来会有很多其他字段,因此将其命名为地图.这些年是关键.

val people = List(
Person("Tom",1985),Person("Abigail",1987),Person("Joyce",1984),Person("James",Person("Scott",Person("Ruth",1984)
)


var birthdayMap = people.groupBy(x=> x.getYearOfBirth()) // map to getName() ?

解决方法

scala> persons groupBy (_.year) mapValues (_ map (_.name))
res9: scala.collection.immutable.Map[Int,scala.collection.immutable.Set[String]] = Map(1984 -> Set(Joyce,Ruth),1987 -> Set(James,Abigail),1985 -> Set(Tom,Scott))

(编辑:李大同)

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

    推荐文章
      热点阅读