I have a Hypergraph construction like below in HGraph class
Map<HEdge, ArrayList<HVertex>> hGraph = new HashMap<HEdge, ArrayList<HVertex>>();
and would like to print all the (key, value) pairs using the below function. But all I am getting this:
Hypergraph:
e4(2.0)[]
e3(2.0)[]
e1(3.0)[]
e2(2.0)[]
e5(2.0)[]
Nothing inside [], not even "#" sign that I used for debugging !! I've also overrided the toString methods in the HEdge and HVertex classes to print out their labels.
public void printHGraph(HGraph hGraph) {
Set<HEdge> edges = hGraph.getAllHEdges();
HEdge edge;
HVertex vertex;
ArrayList<HVertex> edge_vertices;
System.out.println("Hypergraph:");
Iterator<HEdge> edge_iterator = edges.iterator();
while(edge_iterator.hasNext()) {
edge = edge_iterator.next();
System.out.print(edge.toString());
System.out.print("[");
edge_vertices = hGraph.getHVertices(edge);
Iterator<HVertex> vertex_iterator = edge_vertices.iterator();
while(vertex_iterator.hasNext()) {
System.out.print("#"); //@debug
vertex = vertex_iterator.next();
System.out.print(vertex.toString()+", ");
}
System.out.print("]");
System.out.println();
}