我想A<->B
在 JGraphT 0.8.3 中制作一个简单的无向无标签(边没有标签)图:
import org.jgrapht.graph.DefaultEdge;
import org.jgrapht.graph.SimpleGraph;
class A {
public static void main(String[] args) {
SimpleGraph<String, String> sg =
new SimpleGraph<String, String>(String.class);
sg.addVertex("A");
sg.addVertex("B");
sg.addEdge("A", "B");
System.out.println("edges of A: " + sg.edgesOf("A"));
System.out.println("edges of B: " + sg.edgesOf("B"));
}
}
我得到这个输出:
$ java -cp 'jgrapht-jdk1.6.jar:.' A
edges of A: []
edges of B: []
为什么顶点的边集是A
空B
的?还有for的类参数是SimpleGraph
什么?它似乎是边缘的类型,但是由于我这里的边缘没有标记,所以肯定没关系吗?所有的图类似乎都将边 ( edgeClass
) 的类作为参数。我找不到文档edgeClass
中描述的位置。
我发现如果我标记边缘(将addEdge
线更改为sg.addEdge("A", "B", "an_edge");
)然后它可以工作......但我不想标记边缘......
$ java -cp 'jgrapht-jdk1.6.jar:.' A
edges of A: [an_edge]
edges of B: [an_edge]