我正在尋找一個不斷排序的java列表,它也可以用來快速檢索一個對象。 PriorityQueue非常適合「不斷排序」的需求,HashMap非常適合按鍵快速檢索,但我需要在同一個列表中。在某一時刻,我寫了自己的,但它沒有實現集合接口(所以不能用作java.util.List等的替代品),我寧願遵守標準的java類如果可能的話。java不斷排序列表與快速檢索
那裏有這樣的列表嗎?現在我使用2個列表,一個優先級隊列和一個hashmap,它們都包含相同的對象。我使用優先級隊列以排序順序遍歷列表的第一部分,通過鍵快速檢索hashmap(我需要同時執行兩個操作),但我希望有一個更優雅的解決方案...
編輯:我應該補充一點,我需要有一個不同的比較器排序的列表,然後用key來檢索;該列表按長整型值排序,關鍵檢索是一個String。
感謝您的回覆......請參閱我的編輯幾秒鐘前,我不認爲TreeMap將在這裏工作。 – user85116
@ user85116 - 不,它不會。但是你的問題並沒有提供足夠的信息來給出一個好的答案。例如,你說你正在使用PriorityQueue。這是否意味着你只關心「列表」中的第一個項目被分類?或者你想要一個總的順序(在這種情況下,PriorityQueue是錯誤的選擇)。如果你用你的實際用例編輯你的問題,那麼我將編輯答案。 – parsifal
我不明白爲什麼PriorityQueue是錯誤的選擇;正如我的問題所提到的,有時我需要按照排序順序遍歷列表的第一部分(不是整個列表,只是開頭的幾個元素)(PriorityQueue相當不錯);我的問題是,在其他時間,我需要從列表中獲取基於鍵的項目,並且此查找需要很快。 – user85116