[英]How to remove nodes with java API for graphstream?
我目前在我的項目中使用Graphstream API for Java。
我不會在命令中刪除或添加節點。 與JFrame&co。 我初始化了一個控制台,所以我可以只插入“ addNode()”或“ removeNode(id)”以獲得結果。
接口顯示節點旁邊有一個數字(ID)。
當我刪除一個節點時,我希望所有具有較高ID的節點都更改其ID,但是我沒有找到一種方法來更改一個節點的ID。
Fe我有:
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")
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.