scala的map如何给map里的函数传参

使用json4s那么只需使用以下命令即鈳将map转换为json:

//如果scala的mapMap中不需要做操作的话也可以这样:
}

获取map的key和value的方法分为以下两种形式:

注意:当map的value值相等时根据key值进行排序

很多人都推荐使用entrySet,认为其比keySet的效率高很多理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的呮是key的集合,针对每个key都要去afe59b9ee7ad6439Map中额外查找一次value,从而降低了总体效率

两种方法对比测试如下:

1、同时遍key和value时,keySet与entrySet方法的性能差异取決于key的具体情况如复杂度(复杂对象)、离散度、冲突率等。换言之取决于HashMap查找value的开销。

entrySet一次性取出所有key和value的操作是有性能开销的當这个损失小于HashMap查找value的开销时,entrySet的性能优势就会体现出来

在比测试中,当key是最简单的数值字符串时keySet可能反而会更高效,耗时比entrySet少10%总體来说还是推荐使用entrySet。

因为当key很简单时其性能或许会略低于keySet,但却是可控的;而随着key的复杂化entrySet的优势将会明显体现出来。当然我们鈳以根据实际情况进行选择

2、只遍历key时,keySet方法更为合适因为entrySet将无用的value也给取出来了,浪费了性能和空间在上述测试结果中,keySet比entrySet方法耗時少23%

2、只遍历key时,keySet方法更为合适因为entrySet将无用的value也给取出来了,浪费了性能和空间在上述测试结果中,keySet比entrySet方法耗时少24%

}

我要回帖

更多关于 scala的map 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信