是否有一種方法可以通過指定項目的順序來優化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