【发布时间】:2012-10-05 10:34:02
【问题描述】:
有没有办法将 Java 中的列表作为二维处理?
情况: 我有一个带有节点、边和每条边权重的图表。现在我需要一个数据结构来存储每个节点: a) 它的邻居 b) 每个邻居的边权重
首先我想创建一个新的类“节点”,它带有一个标识符和一个二维数组来存储邻居标识符和边权重。但是每个节点的邻居数量没有给出,并且可能在运行时动态增加。因此我认为二维数组不是这里的路。
我认为可以在“节点”类中包含如下列表:
List<node> neighbours = new ArrayList<node>();
但显然这只处理相邻节点 - 而不是它们边缘的权重。
是否有人提示如何构建这样一个“图”,其中为每个节点存储邻居的标识符和相应的边权重?
感谢您的阅读:-)
【问题讨论】:
-
一个二维数组就可以了,但是如果实现它,二维数组的方式是没有必要的,而且你很灵活。我可以建议在 java 中使用 MAPS 吗? docs.oracle.com/javase/6/docs/api/java/util/Map.html
-
JGraphT 很棒,是 Java 地图的绝佳替代品!