繁体   English   中英

Java社交网络节点集合解决方案

[英]Java social networking node collection solution

Java有点新鲜。 在成功之前我使用过各种Java集合(treeset,hashmap,arraylist)。 我的问题类似于类似Facebook的网络。 我在会员组织中有各种各样的用户,我想在会员中为每个人存储一个集合,其他成员是按兴趣链接到该成员的。 我认为最简单的解决方案是为每个成员动态分配一个新的简单集合,这些成员将链接其他成员名称(现有的或新的),但看起来Java不允许动态分配新集合。

我可以在一个hashmap中有一个连接的字符串,列出与键名相关的所有名称,但这似乎是一个不方便的解决方案。 我认为这是一个社交常见的网络问题,有一个优雅的解决方案。 建议?

你为什么不把它建模成图形?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM