假设您有三个类A、B、C,每个类都有自己的搜索函数。我想同时使用这三个搜索函数来运行一个关键字(例如“searchKey”)。如果从其中一个函数得到结果,我该如何停止另外两个搜索函数?此外,与在每个类中拥有单独的哈希表并依次搜索它们相比,这种方法运行速度更快吗?因为搜索解析为常数时间复杂度。
你需要暴露一个公共方法来停止搜索,例如在各自的类中取消线程的标志。至于你提到的第二点,对于在HashMap中进行关键字搜索的时间复杂度通常为O(1),如果这些关键字在同一个哈希桶中,则最坏情况下为O(n)。因此,优化的空间不大,因为它已经非常快了。如果你按顺序搜索HashMaps,你甚至都不会注意到这一点。