我想制作一个策略设计模式示例,以便在我的java应用程序中使用它。所以我有一个函数有两个可能的值返回类型:
int[][] getMatrix();
double[][] getMatrix();
我试过这个:
//the strategy interface
public interface TutoInterface<T>{
T[][] getMatrix();
}
和实现TutoInterface
的两个类之一:
//strategy 1
public class Tuto implements TutoInterface<int> {
@Override
int[][] getMatrix() {
//some code
}
}
但netbeans IDE中指出的错误是int
不是一个对象,所以我该怎么做呢?
您可以使用哈希表,例如哈希表(https://en.wikipedia.org/wiki/Hash_table)
插入和检查的时间保证为O(1)。然而,在最简单的形式中,这种结构是概率性的。仍适用于大多数应用程序。
你尝试过使用哈希表吗?在大多数情况下,插入的复杂度为O(1),检查为O(1),但数据不按插入顺序存储。您可以将此结构与双端元数据列表组合在一起,您可以按插入顺序进行迭代。
如果只是将元素保存在哈希表中,则可能存在主群集问题。您可以使用带链接的哈希表。
Search- O(1)
Insert- O(1)
Delete- O(n)
Find- O(n)