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

Scala映射到HashMap

发布时间:2020-12-16 19:11:13 所属栏目:安全 来源:网络整理
导读:给定此类的Person对象列表: class Person(val id:Long,val name:String) 什么是获取(java)HashMap的“scala方式”,其中id为键和值的名称? 如果最佳答案不包括使用.map,请提供一个示例,即使它更难做到. 谢谢. 编辑 这就是我现在所拥有的,但它不是一成不变
给定此类的Person对象列表:

class Person(val id:Long,val name:String)

什么是获取(java)HashMap的“scala方式”,其中id为键和值的名称?

如果最佳答案不包括使用.map,请提供一个示例,即使它更难做到.

谢谢.

编辑

这就是我现在所拥有的,但它不是一成不变的:

val map = new HashMap[Long,String]
personList.foreach { p => map.put(p.getId,p.getName) }

return map

解决方法

import collection.JavaConverters._
val map = personList.map(p => (p.id,p.name)).toMap.asJava

> personList具有类型List [Person].
>在.map操作之后,你得到List [Tuple2 [Long,String]](通常写成,List [(Long,String)]).
> .toMap之后,你得到Map [Long,String].
>并且.asJava,顾名思义,将其转换为Java地图.

您不需要定义.getName,.getid. .name和.id已经是getter方法.类似访问的外观是有意的,遵循统一访问原则.

(编辑:李大同)

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

    推荐文章
      热点阅读