Java的一般收益类型的策略设计模式

时间:2019-03-25 15:37:07

标签: java design-patterns strategy-pattern

我想提出一个策略设计模式,以便在我的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不是对象,所以我该怎么办?

3 个答案:

答案 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)