我正在尋找一種方法來獲得併發映射或類似的鍵值存儲,可以按值排序而不是按鍵排序。java併發映射按值排序
到目前爲止,我在尋找ConcurrentSkipListMap,但我找不到一種方法來按值排序(使用Comparator),因爲compare
方法只接收鍵作爲參數。
該映射的鍵爲字符串,值爲整數。我正在尋找的是一種檢索具有最小值(整數)的密鑰的方法。
我也在考慮使用2個地圖,並用Integer鍵和String值創建一個單獨的地圖,這樣我就會按照我想要的整數有一個有序地圖,但是可以有多個整數相同的價值,這可能導致我陷入更多的問題。
例
「用戶1」=> 3 「用戶2」=> 1 「用戶3」=> 3
排序的列表: 「用戶2」=> 1 「用戶1」=> 3 「user3」=> 3
有沒有辦法做到這一點或任何第三方庫可以做到這一點?
感謝
您好感謝,但我不認爲我需要多重映射因爲密鑰(字符串) - >值(整數)唯一的,我不能有2個值相同的關鍵,但我希望我的地圖按值(整數)排序,或者我在想,但這也不能解決地圖反轉,並使用Integer作爲鍵和字符串作爲值,但是這可能導致擁有多個具有相同值的鍵(整數)請參閱我已更新實驗 –
因此,如果您有多個鍵到相同的值,你反轉它,你需要一個MultiMap,因爲現在你有一個鍵有多個值。總之,你只能按鍵進行排序。 –
是的...你是對的,但我希望能夠在某個時候刪除基於密鑰(字符串)的條目。通過反轉地圖,我認爲這會有點難,因爲我必須按價值進行搜索。 –