我在我的项目中使用JUNG库并且特定于算法。 我使用Graph Stream构建了一个图形G,我想使用相同的图形G作为JUNG Hits算法的输入,但我的代码中存在问题。
这是我创建图表的方式:
SingleGraph graph=FileHelper.createGraph("Graphe", adjacencyMatrixboolean);
for (org.graphstream.graph.Node node : graph.getNodeSet())
node.addAttribute("ui.label", node.getId());
for (Edge edge : graph.getEdgeSet())
edge.addAttribute("ui.label", edge.getId());
graph.display();
这就是我称之为JUNG HITS算法的方法:
HITS ranker = new HITS((edu.uci.ics.jung.graph.Graph)graph);
ranker.evaluate();
ranker.printRankings(true,false);
Eclipse向我展示了这个错误:
线程中的异常" main" java.lang.ClassCastException:org.graphstream.graph.implementations.SingleGraph无法强制转换为edu.uci.ics.jung.graph.Graph 在com.tweets.test.Main.main(Main.java:71)
答案 0 :(得分:0)
看起来SingleGraph
,无论是什么(它不是JUNG的一部分),都没有实现JUNG Graph
接口。因此ClassCastException
。
要实现这一点,您可能需要在Graph
之外构建JUNG SingleGraph
- 或根据您的文件编写代码以构建JUNG Graph
。 / p>