是否有一种方法可以通过指定项目的顺序来优化java.util.Collection中插入的速度?在java.util.Map/Set中优化插入速度
例如
java.util.Set<String> set = java.util.TreeSet<String>();
将这种解决方案:
set.add("A");
set.add("B");
set.add("C");
set.add("D");
set.add("E");
比这一个(随机顺序)快?
set.add("E");
set.add("D");
set.add("C");
set.add("A");
set.add("B");
(和其他收藏品一样的问题:HashMap中,hastable ...)
感谢
预排序通常会导致很多不平衡,所以很可能是最糟糕的情况。 – starblue 2009-02-22 18:17:26
我同意,如果你想加快速度,最好的办法是对列表进行排序,找到中位数,然后从中位数的两个方向插入。在这一点上,没有必要重新排序子树。 – Nick 2009-02-22 18:22:10
但是分类需要比以后获得更多的时间。最后这是所有无用的微型优化。 – starblue 2009-02-22 18:50:46