Javaのリストを2次元として扱う方法はありますか?Javaの2次元リスト
状況: ノードあたりのエッジ、エッジ、およびウェイトのグラフがあります。今、私は、各ノードのために格納するデータ構造が必要になります。 a)は、その隣接 b)のエッジの重み各neigbourため
まず私は、二のようなidentifyerと何かを新しいクラス「ノード」を作成する考え近隣アイデンティティおよびエッジ重みを格納するための2次元アレイを提供する。しかし、各ノードの近隣ノードの数は与えられず、実行時に動的に増加する可能性があります。したがって、私は二次元配列はここに行く方法ではないと思います。
私はクラス「ノード」でのようなリスト持つことが可能だろうと思った:
List<node> neighbours = new ArrayList<node>();
をしかし、明らかに、これは唯一の隣接ノードハンドル - ない彼らのエッジの重みを。
このような「グラフ」を構築する方法を知っている人はいますか?どこのノードでもネイバーの識別名と対応するエッジの重みが格納されていますか?
は
2次元配列を実行しますが、それを実装する場合、2D配列の方法は必要ではなく、あなたは柔軟です。 javaでMAPSを使用することをお勧めしますか? http://docs.oracle.com/javase/6/docs/api/java/util/Map.html –
類似:http://stackoverflow.com/questions/745048/looking-for-a-simple- Java-api-for-creating-graphs-edges-nodes – yiannis
[JGraphT](http://jgrapht.sourceforge.net/)はすばらしく、Javaのマップに代わる素晴らしいツールです! – coroner