我正在使用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