gpt4 book ai didi

Scala mutable MultiMap addBinding 和插入顺序保存

转载 作者:行者123 更新时间:2023-12-01 09:24:26 35 4
gpt4 key购买 nike

MultiMap 的 addBinding 似乎不保留绑定(bind)到同一键的值的插入顺序,因为它使用的底层机制是 HashSet。使用 MultiMap 保留插入顺序的惯用方法是什么?

最佳答案

基于 MultiMap其中实现说明:

/** Creates a new set.
*
* Classes that use this trait as a mixin can override this method
* to have the desired implementation of sets assigned to new keys.
* By default this is `HashSet`.
*
* @return An empty set of values of type `B`.
*/
protected def makeSet: Set[B] = new HashSet[B]

您可以简单地定义:

trait OrderedMultimap[A, B] extends MultiMap[A, B] {
override def makeSet: Set[B] = new LinkedHashSet[B]
}

关于Scala mutable MultiMap addBinding 和插入顺序保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26067716/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com