2013-10-10 23 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结构的同时没有做更多的工作来完成密钥更改。 –

相关问题