如何在核心java中实现图形?

我有一个定向的未加权图。 给出了节点数和节点之间的所有链路。 我尝试使用向量数组执行任务,但java不支持它。 ArrayList和Vectors支持随机访问迭代器但不能在java中执行它,因为我是新手。 我不想使用二维矩阵。 我想将它实现为N个给定节点的数组,其中每个节点都有一个连接到它的节点的列表。 请有人提供伪代码或任何可以帮助我的东西。 例如,图表给出为

5 3 4 4 2 1 5 4 3 1 3 2 5 

这里给出了5个编号为1到5的节点。 以下是从第一个节点到第二个节点的有向边。 我想将其表示为图的邻接列表。 任何人都可以实施吗?

诸如Map>List>的邻接列表可能是合适的。

附录:在使用Java 集合时 ,注意MapList是提供特征方法的接口可能会有所帮助,而您可能希望根据要使用数据结构实现的算法的要求选择特定的实现 。

附录:这里有一个相关的例子。

您可以使用许多集合数据结构,特别是哈希表或集合,以实现您的目的。 Java为您提供了许多集合通用容器(HashMap-s,ArrayList-s等)。 我不是Java专家,但搜索Java Collections会产生大量结果,例如本教程

太糟糕了,你要求实现定向的未加权图,而不是直接使用。 否则,我建议你使用一个易于制作的框架,几乎任何与网络/图形相关的东西都称为JUNG2。 您可以在GUI或非GUI模式下使用它。 它会为你节省大量时间。 以下是其教程链接:

http://www.grotto-networking.com/JUNG/JUNG2-Tutorial.pdf