簡體   English   中英

如何使用Java API刪除graphstream的節點?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM