我想提出一个策略设计模式,以便在我的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
不是对象,所以我该怎么办?
答案 0 :(得分:0)
您可以使用哈希结构,例如哈希表(https://en.wikipedia.org/wiki/Hash_table)
插入和检查的时间保证为O(1)。但是,以最简单的形式,这种结构是概率性的。仍然适用于大多数应用程序。
答案 1 :(得分:0)
您尝试使用哈希表吗?在大多数情况下,插入的复杂度为O(1),检查的复杂度为O(1),但数据不是按插入顺序存储的。您可以将此结构与元数据的双头列表结合使用,可以按插入顺序对其进行迭代。
答案 2 :(得分:0)
如果仅将元素保存在哈希表中,则可能存在主要的聚类问题。 您可以将散列表用于链接。
Search- O(1)
Insert- O(1)
Delete- O(n)
Find- O(n)