如何使用java API for graphstream删除节点?
我目前在项目中使用Graphstream API for Java 我不想在命令中删除或添加节点。 使用JFrame&co.我初始化了一个控制台,以便插入 “addNode()”或“removeNode(id)”以获取结果 一个界面显示节点,旁边有一个数字(ID) 删除一个节点时,我希望ID较高的所有节点都更改其ID, 但是我没有找到一种方法来更改一个节点的ID F.e.我有:如何使用java API for graphstream删除节点?,java,nodes,graphstream,Java,Nodes,Graphstream,我目前在项目中使用Graphstream API for Java 我不想在命令中删除或添加节点。 使用JFrame&co.我初始化了一个控制台,以便插入 “addNode()”或“removeNode(id)”以获取结果 一个界面显示节点,旁边有一个数字(ID) 删除一个节点时,我希望ID较高的所有节点都更改其ID, 但是我没有找到一种方法来更改一个节点的ID F.e.我有: graph.addNode(0); graph.addNode(1); graph.addNo
graph.addNode(0);
graph.addNode(1);
graph.addNode(2);
删除节点时:
graph.removeNode(0);
我希望将1,2更改为0,1,而不重新初始化整个图形
有没有办法实现这种行为?我想到了这样的事情:
graph.getNode(1).setID(0);
不幸的是,我只能访问.getID(),不能以这种方式操作它
感谢节点ID是字符串,它们是不可变的(无需重命名,无需
setId()
)
现在,您在示例中所做的是不同的。您正在使用对节点的基于索引的访问。索引是整数,对应于图中的任意节点,它们与ID无关
执行graph.addNode(0)
时,整数将转换为字符串“0”
。然后,当您执行graph.removeNode(0)时,您将删除作为节点列表第一个索引的节点。但它必须是此id的节点“0”
只要图中有节点(
graph.removeNode(0)
),就可以删除索引(integer)为0的节点,但只能删除id为“0”
的一个节点一次(graph.removeNode(“0”)
) 谢谢,我确实理解graphstream节点给出的这种行为。