我想检查具有特定ID的节点是否已存在于我的图形中,或者是否必须创建新对象.目前我正在使用以下代码执行此操作:
// at this point I have the attributes for the node I need
String id = getIdOfNeededNode(); // The id is used to search for the node in the graph
// now I have to search for the node in the graph
Node node = new Node("dummy_id"); // This is the line I don't like;
// I would prefer not to have a dummy node
// but the compiler will then complain that the node might not be initialized
boolean alreadyCreated = false;
for(Node r : graph.getVertices()){ // search for the node with this id in the graph
if (r.getId().equals(portId)){
node = r;
alreadyCreated = true;
break;
}
}
if (!alreadyCreated) { // create a new object if the node was not found
node = new Resource(portId);
createdPortResources.add(port);
}
// In the remainder of the program, I am working with the node object which then is in the graph
Run Code Online (Sandbox Code Playgroud)
我正在创建一个只是占位符的虚拟节点的事实真的很难看.请让我知道如何以更优雅的方式解决这个问题.
| 归档时间: |
|
| 查看次数: |
30 次 |
| 最近记录: |