是否有可以替换键的有序映射

use*_*361 3 java replace map treemap sortedmap

是否有任何具有排序Map(例如TreeMap)但能够替换的Java库keys?例如,我正在寻找可以取代的东西treeMapInstance.firstKey().速度是非常重要的,这就是为什么我不是存储值,删除,然后将值放回新密钥的原因.

在我的应用程序中,我可能有一个对象,如

TreeMap<Long, Double> foo = new TreeMap<Long, Double>();
Run Code Online (Sandbox Code Playgroud)

有时我想在foo不改变相关值的情况下更改密钥.

foo.put(1l, 1.0);
foo.put(2l, 2.0);
Run Code Online (Sandbox Code Playgroud)

在上面的,例如我怎么可能改变key 1l,以5l有效?

NPE*_*NPE 8

在a TreeMap,both put()remove()are中O(log n),所以删除后添加是一个非常好的起点.如果我是你,我会使用它,然后分析应用程序,看看实际的瓶颈在哪里.我的钱就在其他地方.

  • 而且我认为添加/删除组合在保留TreeMap结构的同时不会做任何比修改键所需的工作更多的工作. (5认同)