对于 Java 来说有些陌生。我之前已经非常成功地使用过各种 Java 集合(treeset、hashmap、arraylist)。我的问题类似于类似 Facebook 的网络。我在成员(member)组织中有各种用户,我想为我们成员(member)中的每个人存储通过兴趣链接到该成员(member)的其他成员(member)的集合。我认为最简单的解决方案是按名称为每个链接有其他成员名称(现有的或新的)的成员动态分配一个新的简单集合,但 Java 似乎不允许动态分配新集合。
我可以在 HashMap 中有一个串联字符串,列出与键名称关联的所有名称,但这似乎是一个笨拙的解决方案。我认为这是一个类似社会公共(public)网络的问题,有一个优雅的解决方案。建议?
最佳答案
为什么不将其建模为图表?
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
关于Java社交网络节点采集解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14885090/