我正在使用TreeMap
,其中的鍵爲String
,值爲Custom對象的List
。事情是這樣的:在一個TreeMapTreeMap需要多少時間?
Map<String, List<CustomObject>> map = new TreeMap<String, List<CustomObject>>();
我知道,插入和獲取操作有O(log n)的時間複雜度。但是,我並不完全知道如何推測將會處理一個TreeMap所花費的時間,
有人可以幫我一個你想用查不到
時間採取的辦法把大約40,000記錄到
TreeMap
(考慮所有的字符串是隨機的和唯一的)。即,繼線40000次:map.put("SomeString", listOfCustomObjects)
時間採取了鍵集合一次迭代包括調用
get()
方法:for(String s: map.keySet()){ List<CustomObject> listOfCustomObjects =map.get(s); //do something with the list }
您可以使用Google的Guava秒錶庫和一個循環增加記錄40,000次來測試這一點。或者你甚至可以比較循環之前和之後的System.currentTimeMillis()。 –
樹形圖根據其按鍵的自然排序進行排序。爲什麼不在插入和檢索循環前後放置'System.currentTimeMillis()'或納秒。 – Shriram
測試和測量。任何人都不可能在你的硬件和配置上爲你做這件事。 – EJP