假设您有三个类 A、B、C,每个类都有自己的搜索功能。我想同时使用所有三个搜索功能运行一个键(比如 'searchKey' )。如果我从三个函数之一得到结果,如何停止其他两个搜索函数?
此外,这会比我在每个类中都有一个不同的 HashMap 并一个接一个地搜索它们的情况运行得更快吗,因为搜索解析为恒定的时间复杂度?
最佳答案
您需要公开一个公共(public)方法来停止搜索,例如取消各自类中线程的标志。
关于你的第二点,HashMap
中关键搜索的时间复杂度通常是 O(1)
(最坏情况 O(n)
如果这些键在同一个哈希桶中)。所以没有太多的优化空间,因为它已经非常快了。如果您按顺序搜索 HashMaps
,您甚至不会注意到这一点。
关于java - Java 中的异步函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53536933/