I have two classes. An interface class "Node" and "Nodegraph" that implements "Node". "Node" has one parametric method, add, where I use Node node as paramenter. In NodeGraph, I need to casting (NodeGraph) node in order to use NodeGraph object. Is there a better way to avoid casting?
import java.util.Set;
public interface Node {
public String getId();
public void add(Node node);
public boolean remove(Node node);
}
import java.util.Iterator;
import java.util.LinkedList;
public class NodeGraph implements Node {
private int row;
private int column;
private String id;
private LinkedList<NodeGraph> neighbourds = new LinkedList<NodeGraph>();
public NodeGraph(int row, int column) {
this.row = row;
this.column = column;
id = "" + row + column;
}
@Override
public String getId() {
return id;
}
@Override
public void add(Node node) {
neighbourds.add((NodeGraph) node);
}
@Override
public boolean remove(Node node) {
return neighbourds.remove((NodeGraph) node);
}
}