【问题标题】:List of lists - Multi level列表列表 - 多级
【发布时间】:2018-04-10 08:47:02
【问题描述】:

我有以下结构:

  public class User ...
  <User> location;
  <List<User>> program;
  List<List<User>>> project;
  List<List<List<User>>>> team;

上述结构表示用户-->位置-->程序->项目->团队。换句话说,每个用户都属于多个位置。在每个位置,他都链接到多个程序。每个这样的程序都有多个项目。每个项目都链接到几个团队。

现在我的问题是这种数据结构是否有其他替代方案。我认为上述结构根本没有效率,检索值会很乏味。因此建议一个合适但有效的替代方案。

【问题讨论】:

  • 它的Java,使用类
  • 我的第一个问题是:用户如何成为程序?如果您为每个目的创建特定的对象,这可能会更好、更容易维护
  • 位置; >程序;这两个属性不足以构建嵌套菜单,并且基于嵌套级别,您可以决定它是项目还是团队

标签: java list data-structures collections


【解决方案1】:

这看起来是个糟糕的设计。

如果程序包含Users 中的List,请定义具有List&lt;User&gt; 实例变量的Program 类。你应该有一个Program program;,而不是List&lt;User&gt; program;

如果项目包含List 的程序,请定义具有List&lt;Program&gt; 实例变量的Project 类。你应该有一个Project project;,而不是List&lt;List&lt;User&gt;&gt;&gt; project;

如果团队包含 List 的项目,请定义具有 List&lt;Project&gt; 实例变量的 Team 类。你应该有一个Team team;,而不是List&lt;List&lt;List&lt;User&gt;&gt;&gt;&gt; team;

【讨论】:

    猜你喜欢
    • 2018-04-05
    • 1970-01-01
    • 2011-03-26
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多