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

Bha*_*tan 4 java graph

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

5
3 4
4 2
1 5
4 3
1 3
2 5
Run Code Online (Sandbox Code Playgroud)

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

tra*_*god 5

一个邻接表Map<Node, List<Node>>List<List<Node>>可以是合适的.

附录:在使用Java 集合,它可能是有益的注意,MapList接口提供特有的方法,而你可能想选择特定的实现方式的基础上,你想用你的数据结构来实现算法的要求.

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