3

Java はやや新しい。私は以前、さまざまな Java コレクション (treeset、hashmap、arraylist) を使用して成功しました。私の問題は、Facebook のようなネットワークに似ています。メンバーシップ組織にさまざまなユーザーがいて、興味によってこのメンバーにリンクされているメンバーシップの他のメンバーごとにコレクションに保存したいと考えています。最も簡単な解決策は、他のメンバー名 (既存または新規) がリンクされているメンバーごとに新しい単純なコレクションを名前で動的に割り当てることだと思いましたが、Java は新しいコレクションの動的割り当てを許可していないようです。

キー名に関連付けられたすべての名前をリストするハッシュマップに連結された文字列を含めることもできますが、これは厄介な解決策のようです。これは、洗練された解決策を持つ社会的共通ネットワークのような問題だと思います。提案?

4

1 に答える 1

0

グラフのようにモデル化してみませんか?

class Node {
    private String name;
    // TODO: Write your getters / setters.
}

class Edge {
    private Edge source, destination;
    // TODO: Write your getters / setters.
}

List<Node> nodes = new ArrayList<Node>();
List<Edge> edges = new ArrayList<Edge>();

次に、関係に遭遇した場合は、次のことができます。

Node alice = new Node("Alice Kentucky");
if (!nodes.contains(alice)) { nodes.add(alice); }
edges.add(new Edge(bob, alice)); // where Bob is already in the node list
于 2013-02-14T22:21:24.463 に答える