What is wrong with the statement if (!adjacentNodes.get(nodeId).isEmpty())
in the below code?
Such statement leads to the following message:
java.lang.NullPointerException
package IN.company;
import java.util.HashMap;
import java.util.HashSet;
public class DiffusionModels {
public int ICModel(int[] seedSet, HashMap<Integer, HashSet<Integer>> adjacentNodes, double p) {
HashSet<Integer> infected = new HashSet();
HashSet<Integer> recentlyInfected = new HashSet();
...
while (recentlyInfected.size() > 0) {
HashSet<Integer> nextActivator = new HashSet<>();
if (!recentlyInfected.isEmpty()) {
for (Integer nodeId : recentlyInfected) {
if (!adjacentNodes.get(nodeId).isEmpty()) {
HashSet<Integer> neighborsOfNode =adjacentNodes.get(nodeId) ;
for (Integer nodeNeighbor : neighborsOfNode) {
if ((Math.random() <= p)&& !(infected.contains(nodeNeighbor))) {
nextActivator.add(nodeNeighbor);
}
}
}
}
}
infected.addAll(recentlyInfected);
recentlyInfected.clear();
recentlyInfected.addAll(nextActivator);
}
return infected.size();
}
}