Джава. Шаблон разработки стратегии с общим типом возврата - PullRequest
0 голосов
/ 25 марта 2019

Я хочу сделать шаблон разработки стратегии примером, чтобы использовать его в своем 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
    }
}

Но ошибка, указанная в IDE netbeans, заключается в том, что int не является объектом, так как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 25 марта 2019

Вы пытались использовать хеш-таблицу? В большинстве случаев сложность вставки составляет O (1), а проверка - O (1), но данные не сохраняются в порядке вставки. Вы можете комбинировать эту структуру с двусторонним списком метаданных, который вы можете перебирать в порядке вставки.

0 голосов
/ 25 марта 2019

Если вы просто сохраняете элемент в хеш-таблице, может возникнуть основная проблема кластеризации.Вы можете использовать хеш-таблицу с цепочкой.

Search- O(1) Insert- O(1) Delete- O(n) Find- O(n)

0 голосов
/ 25 марта 2019

Вы можете использовать хеш-структуры, например, Hash Table (https://en.wikipedia.org/wiki/Hash_table)

Время вставки и проверки гарантировано равно O (1). Однако в простейшей форме эта структура является вероятностной. По-прежнему работает нормально для большинства приложений.

...