因此,我有一個LinkedHashMap
,它的鍵爲Float[]
數組,值爲LinkedList<LinkedList>
(嵌套列表)。對於每個鍵,我嘗試按數字順序排序值,這是通過比較該嵌套列表中的浮點值獲得的。具體爲:使用自定義lambda比較器的Java HashMap排序
// copy of an original hashmap
LinkedHashMap<Float[], LinkedList<LinkedList>> tempMap = new LinkedHashMap<>(attrMap);
然後比較:
// i is index of numeric (float) value I want to sort with
Comparator<LinkedList> comp = (a, b)-> ((Float) a.get(i)).compareTo((Float) b.get(i));
tempMap.get(keyObj).sort(comp);
這地圖不排序。我怎麼修復它?
EDIT2:既然是棘手的複製實際的代碼,這裏是我的github link的源代碼。代碼片段位於分析器類的biConvert()方法下。
你能[編輯]你的問題和後短,但完整的例子,我們可以複製,粘貼到我們的機器和重現您的問題(可能是通過建立這樣的例子,你也會找出你的問題的原因)。 – Pshemo
你的例子不會編譯,例如'l.append(..)'。請嘗試發佈不會引入與您的問題無關的錯誤的代碼。 – Pshemo
很抱歉,但鏈接不能只是源代碼,這是不行的,尤其是當你想以後矯正鏈接代碼會取消的問題。堆棧溢出的目的是爲將來的用戶提供可搜索的存儲庫,所以如果你的問題沒有包含足夠的信息來重現你自己的問題,那麼恐怕這裏就成爲焦點話題。 – Pshemo