2015-04-29 69 views
-3

我想花時間插入樹中以測量TreeMap插入的效率。我也想測量分開排序需要多長時間。我正在編寫一個報告,我正在編寫一個報告,比較TreeMap,linkedList和ArrayList的插入時間和排序時間。對於linkedList和ArrayList,我將首先插入all和measure,然後調用list.sort(comparator)並測量排序需要多長時間。雖然我不確定如何爲TreeMap執行此操作。如何計時在TreeMap中插入和排序分隔需要多長時間

final long startTime = System.currentTimeMillis();  
     Comparator<String> secondCharComparator = new Comparator<String>() { 
        @Override public int compare(String s1, String s2) { 
         return s1.substring(1, 2).compareTo(s2.substring(1, 2)); 
        }   
       }; 

     SortedMap<String,String> map = 
       new TreeMap<String,String>(secondCharComparator); 
      map.put("a", "one"); 
      map.put("a", "two"); 
      map.put("cd", "three"); 
    final long endTime = System.currentTimeMillis(); 

long totalTime = endTime - startTime; 

回答

0

如果您的數據結構默認爲「排序」比測量「分類」所需時間沒有意義。

你可以做的唯一的事情就是:測量INSERT +排序你的列表需要多長時間;然後測量將其插入到TreeMap中需要多長時間。

附註:你知道你可能想使用更多的數據?而且你的數據集應該有不同的屬性(例如,如果你正在插入/排序的元素有一個隨機分佈,部分排序,反向排序等等,那麼它會產生巨大的差異。)

相關問題