首页 > 解决方案 > Java 中的嵌套集合(包含 String 键、arrayList 值的哈希图列表)

问题描述

我应该在 Java 中嵌套集合吗?

我目前正在做一个项目,我想拥有一堆包含 String 键和 arrayList 值的哈希图。这样,当我创建另一个类的对象并将其添加到集合中时,它将能够使用一些信息,如果它与其中一个哈希映射的键之一匹配,那么它将被存放在关联的 arrayList 中价值。这样,以后可以通过特定哈希映射的正确键访问列表。

这是一个好主意吗?还是太复杂了,如果是这样,有更好的方法吗?

标签: javalistcollectionsnestedmaps

解决方案


当然,有时会筑巢。但在这个经验丰富的开发人员的拙见中,除非你有充分的理由,否则你不应该这样做。很多时候,使用一些代表内部集合的类会更好。

因此,如果您发现自己Map<String,List<Foo>>问自己这List<Foo真正代表什么。如果是,Map<String,List<Student>>那么也许您需要Map<String, Roster>or Map<String, Team>。我发现这可以缩短上市时间并减少错误。你问这个问题的事实意味着你认为这也有可能是真的。


推荐阅读