2
我有TreeMap,它響應< document_id,document_relevance_factor>。這是一個1:n的關係。然後我想按值排序resuls,所以我只需使用Map < Double,設置< Integer>>來顛倒地圖。但是,我收到了一些奇怪的結果。下面的輸出來自Intellij Idea的調試器,但它也是不使用調試器時生成的輸出。TreeMap奇自然排序
原始地圖:
..和另一個150名的條目。下面反向映射(大部分150項的有0.0相關性):
地圖按相關性排序:
我的問題是,如果雙打根據其自然順序進行排序,它怎麼可能有這個輸出?我讀this計算器後,也試圖提供我自己的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%肯定,我失去了一些重要的東西,但我實在不明白它是什麼。
大聲笑,我正要說,在評論哈哈 –
這不能是一個答案。這是一個評論。 – Juvanis