如何使用 java API 删除 for graphstream 的节点?



我目前在我的项目中使用 Graphstream API for Java。

我不想根据命令删除或添加节点。 与JFrame&co.我初始化了一个控制台,所以我可以插入 "addNode((" 或 "removeNode(id(" 以获得结果。

接口显示节点旁边有一个数字(ID(。

当我删除一个节点时,我希望所有具有较高 ID 的节点都更改其 ID, 但我没有找到更改一个节点 ID 的方法。

F.e.我有:

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)(,就可以删除索引(整数(为0的节点,但只能删除一次ID为"0"的节点(graph.removeNode("0")(。

相关内容

  • 没有找到相关文章

最新更新