2013-10-10 22 views
3

是否有任何Java庫的排序Map(如TreeMap),但有能力取代keys?例如,我正在尋找可替代treeMapInstance.firstKey()的東西。速度是相當重要的,這就是爲什麼我不是存儲值,刪除,然後將值放回新密鑰的原因。是否有排序的地圖,可以替換密鑰

在我的應用程序可以有一個對象,如

TreeMap<Long, Double> foo = new TreeMap<Long, Double>(); 

有時我想改變的關鍵在foo沒有改變關聯值。

foo.put(1l, 1.0); 
foo.put(2l, 2.0); 

在上面,例如我怎麼可能改變key1l5l有效?

+5

什麼是您的具體功能要求? –

+0

TreeMap的結構反映了其鍵之間的比較結果。其中一個鍵的值的改變可能會破壞其速度所依賴的不變量。 –

+0

「替換鑰匙」是什麼意思?提供示例 –

回答

8

TreeMap,both put() and remove() are O(log n),所以去除後再加入是一個非常好的起點。如果我是你,我會使用它,然後分析應用程序,看看實際瓶頸在哪裏。我的錢就在其他地方。

+5

我不認爲添加/刪除組合在保留TreeMap結構的同時沒有做更多的工作來完成密鑰更改。 –

相關問題