ebr*_*hez 39 scala scala-2.8 scala-collections ordered-map
在Java中,我LinkedHashMap用于此目的.Java的文档LinkedHashMap很清楚,它具有"可预测的迭代顺序",我在Scala中需要相同的东西.
Scala有ListMap和LinkedHashMap,但他们这样做究竟是什么文件很糟糕.
问题:Scala LinkedHashMap或ListMap实现是否用于此目的?如果没有,除了LinkedHashMap直接使用Java之外还有哪些其他选项?
Rei*_*cer 16
两者之间的差异LinkedHashMap是可变的而不可变的ListMap.否则它们都是MapLike并且还保留了插入顺序.
对于LinkedHashMap,答案非常明确,它保留了插入顺序.
但对于ListMap来说,似乎存在一些混淆.
首先,有两个ListMap.
其次,就我尝试而言,ListMap的文档有些不对劲.
实际订单不是它所说的插入顺序.
并且它也不是插入的逆序.我尝试的结果是[第四,第二,第一,第三]
由列表支持的简单可变映射,因此它保留了插入顺序.
正如文件所说,订单是插入订单.
需要注意的一点是,它以反向插入顺序存储在内部.内部存储的顺序和可迭代/遍历顺序是两件事.内部存储的顺序决定了查找方法的时间复杂度,例如head/last/tail/init /.
此类使用基于列表的数据结构实现不可变映射.列表映射迭代器和遍历方法按照首次插入乳清的顺序访问键值对.
条目以反向插入顺序存储在内部,这意味着最新的密钥位于列表的开头.
| 归档时间: |
|
| 查看次数: |
17511 次 |
| 最近记录: |