问题描述
我是 Java 新手,我正在努力实现一个未加权的有向图。每个节点都持有一个 id 和一个对象数据。我不确定我的方法,所以我需要一些关于如何继续的建议。这是我的工作:
public class adjNode {
public String nodeId;
public Object data;
adjNode(String nodeId,Object data) {
this.data = data;
this.nodeId = nodeId;
}
}
public class Graph {
private Map<adjNode,List<adjNode>> map = new HashMap<>();
adjNode findNode(String nodeId) {
adjNode temp;
for (int i = 0; i < map.size(); i++) {
temp = (adjNode) map.get(i);
if (temp.nodeId == nodeId) {
return temp;
}
}
return null;
}
@Override
public void addNode(String name,Object data) {
adjNode newNode = new adjNode(name,data);
map.put(newNode,new LinkedList<>());
}
@Override
public Object getData(String nodeId) throws InvalidNodeException {
adjNode found = findNode(nodeId);
if (found != null) {
return found.data;
} else {
throw new InvalidNodeException(nodeId);
}
}
@Override
public void setData(String nodeId,Object data) throws InvalidNodeException {
adjNode found = findNode(nodeId);
if (found != null) {
found.data = data;
} else {
throw new InvalidNodeException(nodeId);
}
}
}
有意义吗?另外如何添加有向边并找到传入和传出的邻居? 感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)