如何计算HashSet搜索的性能/时间戳

时间:2018-01-11 19:12:25

标签: java performance hashmap hashset

我有一个HashSet((的字符串和列表((两个字符串的)hashmap)的散列图))

HashSet<HashMap<String1,List<HashMap<String2,HashMap<String3,String4>>>>>

现在,我使用String输入(StrA和StrB)进行搜索,这应该在

上搜索HashSet
  • STRA - &GT;字符串1
  • STRB - &GT; String2的

它应该返回String 3和String 4的hashMap。

这是我的代码

HashMap<String, String> mapFound;

for (HashMap<String, List<HashMap<String, HashMap<String, String>>>> map : fooSet) {
if (map.containsKey(string1)) {
    List<HashMap<String, HashMap<String, String>>> list = map.get(string1);
    for(HashMap<String, HashMap<String, String>> map2 : list){
        if(map2.containsKey(string2)){
            mapFound = map2.get(string2);
        }
    }
}

}

我有多套Hashmaps;一些在集合的开头,一些在最后。一些Hashmaps几乎没有键值对,而另一些则有更多。

现在,我如何衡量搜索和结果检索所需的时间?

1 个答案:

答案 0 :(得分:1)

之前循环:

Long start = System.currentTimeMillis();

循环后:

System.out.println(System.currentTimeMillis() - start);

当然,每次都会给你一个不同的结果。那是因为你的处理器同时做了一些其他的东西。但是你可以开始大约50-100次并获得平均值,以便更准确。