假设您有三个A,B,C类,每个类都有自己的搜索功能。我想使用所有三个搜索功能同时运行一个键(例如'searchKey')。如果我从三个函数之一获得结果,如何停止其他两个搜索函数?
这还会比我在每个类中都有一个不同的hashmap并依次搜索它们的情况更快,因为搜索解决了恒定的时间复杂性?
答案 0 :(得分:4)
您需要公开一个公共方法来停止搜索,例如一个标志,以取消其各自类中的线程。
第二点,在HashMap
中进行键搜索的时间复杂度通常为O(1)
(如果这些键在同一个哈希存储桶中,则为最差情况O(n)
)。因此,由于优化速度很快,因此没有太多的优化空间。您甚至不会注意到,如果按顺序搜索HashMaps
。