java - 链表或递归调用 HashMap

标签 java hashmap

我有一份学生名单。 aaa 是 bbb 和 ddd 的领导者。 bbb 是 eee 的领导者,而 eee 是 fff 的领导者。

Students   leader     groupStudent
aaa         --        [bbb,ddd]
bbb         aaa       [eee]
ccc         ---        ---
ddd         aaa       []
eee         bbb       [fff]
fff         eee       []

我想用JAVA实现这个。显示为如下图形表示。

     fff
      |
     eee 
      |
aaa--bbb---ddd 

我有大量的学生,每个学生都可以指导任何其他学生。哪种数据结构可以用来显示上面的图?我正在考虑具有键值对的 HashMap ,aaa具有[bbb,ddd]。

最佳答案

enter image description here你在开场白中已经提到了这一点。

aaa is leader for bbb and ddd. bbb is leader for eee and eee is leader for fff.

这是信息的层次结构。树数据结构最适合您。 aaa 将是树中的一个节点,以 bbbddd 作为其子节点,依次类推。

如果您需要显示所有向 bbb 报告的人,那么树数据结构可以帮助您。您所要做的就是遍历它的子级,而不是嵌套的 HashMap 遍历。

关于java - 链表或递归调用 HashMap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33318429/

相关文章:

java - Java的HashMap中,从keySet中删除一个元素会影响hashmap对象吗?

java - 加载了错误的 Java 资源包

java - 使用 Java 访问嵌套 JSON 对象的最佳方法

java - 在Android中访问内部类中的变量

java - 使用 java 8 对 Map<String, List<Object>> 进行排序

java - java中Hashmap和ArrayList添加值的方式不同

java - 如何从 Akka Streams Sink 中抛出的异常中恢复?

java - 如何将数字始终转换为负数?

java - 添加 hashmap 和 arraylist 时出现内存不足错误

针对写入优化的并发数据结构