Alguém sabe me explicar o por que a minha lista de nodesNotObject cresce infinitamente… o problema é exatamente nessa linha que está comentada, se eu modificar ela para List<Node> auxNodes = new ArrayList()
o problema não dá mais, mas queria saber o motivo de ter ficado infinitamente crescendo a minha lista e o meu size de nodesNotObject ficar gigantesco… esperimente rodar esse trecho de código e acompanhar o gerenciamento de memória no windows…
public Graph getGraphWithObject(List<Node> nodesNotObject) {
Graph graph = new Graph();
List<Node> auxNodes = nodesNotObject; //error está aqui
Node auxNode = new Node();
Node object = new Node();
for (int i = 0; i < nodesNotObject.size(); i++) {
for (int j = 0; j < nodesNotObject.size(); j++) {
if (nodesNotObject.get(i).getSubject()
.equals(nodesNotObject.get(j).getSubject())) {
auxNode = nodesNotObject.get(i);
auxNode.setObject(object);
auxNodes.add(auxNode);
}
}
}
graph.setNodes(auxNodes);
for (Node node : graph.getNodes()) {
System.out.println(node.getSubject());
System.out.println(node.getEdge());
System.out.println(node.getObject().getSubject());
}
return graph;
}