有向无环图是否足以满足您的需求?我知道这通常不能捕获位姿,但是您提到要排除图周期。
如果是这样,您可以看一下JGraphT:http://jgrapht.org/
有一个用于拓扑排序的图迭代器。
请注意,有向图不是java.util.Collections,但是您可以获取顶点,它们是java.util.Set。如果你需要的数据结构本身是一个集合,你也许可以换一个JGraphT向图用薄的包装,是 一个收集,处理顶点的元素。
这里的潜在缺点是必须显式创建边缘,这对于您的应用程序可能是可接受的,也可能是不可接受的。