在我目前正在处理的应用程序中,最耗时的函数之一是 TreeMap
中的 put()
操作(~30 % 的运行时间)。
通常这些对 put()
的调用是从另一个函数顺序调用的,因此 put()
函数调用将使用有序键。这当然会导致 RB-Tree 中的大量重新平衡,这有助于运行时间。
有什么(简单的)方法可以加速我的应用程序吗?
最佳答案
您的第一次优化尝试应该是切换到 ConcurrentSkipListMap .尽管这可能没有任何区别,甚至可能使事情变慢,但值得尝试,因为它是唯一实现“SortedMap”的其他“ map ”(大概是使用“TreeMap”的原因。
之后,您正在寻找“Map”的特殊自定义实现,它可以更快地添加已排序的新条目..
关于java - 在 Java TreeMap 中加速顺序放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34832395/