gpt4 book ai didi

java - TreeMap 奇数自然排序

转载 作者:行者123 更新时间:2023-11-29 08:47:16 25 4
gpt4 key购买 nike

我有响应 < document_id, document_relevance_factor > 的 TreeMap。这是一个 1:n 的关系。然后我想按值对结果进行排序,所以我只使用 Map > 反转 map 。但是,我得到了一些奇怪的结果。下面的输出来自 Intellij Idea 的调试器,但它也是未使用调试器时生成的输出。

原图:

Original Map

.. 和另外 150 个条目。下面的反转图(这 150 个条目中的大部分具有 0.0 相关性):

根据相关性排序的 map :

Map sorted according to relevance

我的问题是,如果 double 是按照自然顺序排列的,怎么可能有这个输出?我读了this stackoverflow post 并尝试提供我自己的 copmarator:

Map<Double, Set<Integer>> reverseDocMap = new TreeMap<>(new Comparator<Double>() { // default comparator gives odd results
public int compare(Double d1, Double d2) {

return (int) ((d1 - d2) * 1_000_000);
}
});

但这并不能解决问题,所以我几乎 100% 确定我遗漏了一些重要的东西,但我就是想不通是什么。

最佳答案

是的,我绝对是瞎子,数字是用科学记数法表示的。

关于java - TreeMap 奇数自然排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24485690/

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