问题标签 [sortedmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
43326 浏览

java - Java:SortedMap、TreeMap、Comparable?如何使用?

我有一个对象列表,我需要根据其中一个字段的属性对其进行排序。我听说 SortedMap 和 Comparators 是最好的方法。

  1. 我是实现 Comparable 与我正在排序的类,还是创建一个新类?
  2. 如何实例化 SortedMap 并传入 Comparator?
  3. 排序是如何工作的?它会在插入新对象时自动对所有内容进行排序吗?

编辑: 这段代码给了我一个错误:

(Ktr 实现Comparator<Ktr>)。Eclipse 说它期待类似的东西TreeMap<K, V>,所以我提供的参数数量不正确。

0 投票
3 回答
1730 浏览

java - 提高将大量排序映射合并到一个排序映射的性能 - java

我有一个获取 SortedMap 作为输入的方法,该映射包含许多 SortedMap 对象,该方法的输出应该是一个包含输入映射中保存的映射的​​所有元素的 SortedMap。该方法如下所示:

这是一个性能杀手,我可以在这里改进什么?

0 投票
2 回答
1678 浏览

scala - 如何形成 scala SortedMaps 的联合?

(我正在使用 Scala nightlies,并在 2.8.0b1 RC4 中看到相同的行为。我是 Scala 新手。)

我有两个SortedMap要组成联合的 s。这是我想使用的代码:

这里的想法是“隐式”语句意味着Xs 可以转换为s,然后将s 组合成另一个Ordered[X]是有意义的,而不仅仅是一个映射。SortedMapSortedMap

当我编译时,我得到

如果该类型参数绑定是[A <% scala.math.Ordered[A]],而不是[A <: scala.math.Ordered[A]]. 不幸的是,我什至无法弄清楚“有序”方法的位置!任何人都可以帮我追踪它吗?

如果做不到这一点,我该怎么做才能产生两个SortedMaps 的并集?如果我删除 combine 的返回类型(或将其更改为Map)一切正常 --- 但是我不能依赖返回被排序!

0 投票
2 回答
3445 浏览

scala - 如何在scala中创建排序地图?

如何在scala(可变/不可变)中创建排序映射?

0 投票
2 回答
2960 浏览

java - 在 SortedMap 中查找大于的第一个值

我想知道有什么更好的方法可以在大型 SortedMap 中找到大于输入值的第一个值,而不是在下面的示例中循环遍历所有值。或者,如果 SortedMap 是用于此目的的最佳结构。

这可以使用 google-collections 来实现吗?提前致谢

0 投票
3 回答
1278 浏览

java - ConcurrentSkipListMap 排序:可以通过值的 compareTo 来完成吗?

在游戏中,我试图保留用户列表并按分数排序,以便我可以在任何给定时间查询列表并返回(例如)按分数排名前十的用户。这个列表应该是线程安全的。我设想使用 userName 字符串作为键,值将是实现 Comparable 并具有 displayName 和 score 等属性的 User 对象。因此,User 对象将具有一个 compareTo 方法,该方法将比较 score 属性以确定其位置。

我正在考虑为此使用 ConcurrentSkipListMap,但据我所知,Map(而不是 Set)使用 key 进行排序。我想让列表按 User 对象的 score 属性排序,但仍然使用 Map 因为我需要能够访问任何给定用户并从线程修改他们的 score 属性。

似乎使用我自己的 Comparator 作为密钥并不能解决我的问题,因为我怀疑我是否可以访问相关的值进行比较。我可以使用 ConcurrentSkipListSet 但访问列表以修改单个用户的分数将是(我想)一项昂贵的操作(由于每次都需要迭代)。

谁能建议如何做到这一点?

0 投票
1 回答
1894 浏览

java - Cast TreeMap.Submap 返回:SortedMap,返回TreeMap

这对我来说似乎太棘手了,无法正确执行此操作。

我有一个TreeMap<Double, (user-defined)Object>,我正在拍摄一个子图:

这正如预期的那样工作,但是当我将排序后的地图转换回时,(TreeMap)我收到以下错误:

任何帮助都会很棒。

0 投票
3 回答
304 浏览

java - 排序的 ComputingMap?

如何在Guava 的计算图之上构建一个 SortedMap (反之亦然)?我想要排序的映射键以及即时计算值。

0 投票
1 回答
2320 浏览

java - 如何使用预先排序的数据初始化 TreeMap?

我的应用程序使用TreeMap来保持数据排序并进行 log(n) 查找和插入。这在应用程序运行时的一般情况下效果很好,但是当应用程序第一次启动时,我需要用几百万个我按排序(升序)获得的 long 来初始化 TreeMap。

由于这些初始化值已经排序,有什么方法可以将它们插入到 TreeMap 中而无需支付树插入和重新平衡的 log(n) 成本?

0 投票
6 回答
54868 浏览

python - 为什么 Python 的标准库中没有排序容器?

是否存在阻止将已排序容器添加到 Python 的 Python 设计决策 (PEP)?

OrderedDict不是排序容器,因为它是按插入顺序排序的。)