Как вызвать структуру данных из других классов - PullRequest
2 голосов
/ 14 марта 2019

Я хочу вызвать структуру данных из других классов, но я нахожу здесь проблему, вы можете мне помочь?

здесь исходный код

Структура данных из класса SimBetWithFairRouting

public  Map<DTNHost, ArrayList<Double>> neighborsHistory;

и я буду вызывать его в этом методе из класса NeighbourhoodShapsity

private double countDirectSimilarity(double[][] matrixEgoNetwork, int index) {
    double sim=0;

    for (int i = 0; i < matrixEgoNetwork.length; i++) {
//here the problem
        if (matrixEgoNetwork[i][0]==this.countAggrIntStrength(*i will call it in here*) && matrixEgoNetwork[i][index]==1) {
            sim++;

        }
    }

    return sim;

}

. Каким образом я могу выполнить эту работу, не меняя карту в статическую форму?подсказка: в классе SimBetWithFairRouting был метод репликации, вы можете мне помочь?

Ответы [ 3 ]

1 голос
/ 14 марта 2019

Чтобы получить доступ к карте, вы должны импортировать этот класс в класс, где вы пишете метод.И чтобы получить к нему доступ без создания экземпляра, вы должны сделать его статичным.

private double countDirectSimilarity(double[][] matrixEgoNetwork, int index) {
    double sim=0;

    for (int i = 0; i < matrixEgoNetwork.length; i++) {
            if (matrixEgoNetwork[i][0]==this.countAggrIntStrength(SimBetWithFairRouting.neighborsHistory) && matrixEgoNetwork[i][index]==1) {
            sim++;

        }
    }

    return sim;

}

Сделать карту статической

public static Map<DTNHost, ArrayList<Double>> neighborsHistory;
0 голосов
/ 14 марта 2019

Расширение SimBetWithFairRouting класс из NeighbourhoodShoity также может предоставить вам доступ к neighborsHistory (если SimBetWithFairRouting класс не является окончательным).

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

Сначала импортируйте тот пакет, где находится ваш класс SimBetWithFairRouting.и затем сделайте эту Карту (neighborsHistory) как статическую.

, и для доступа к этой карте вы можете использовать

    SimBetWithFairRouting.neighborsHistory

, которая (ClassName.MapName)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...