代码之家  ›  专栏  ›  技术社区  ›  kingkong

列表列表-多级

  •  -2
  • kingkong  · 技术社区  · 6 年前

    我有以下结构:

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

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

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

    1 回复  |  直到 6 年前
        1
  •  3
  •   Eran    6 年前

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

    如果程序包含 List 属于 User s、 定义 Program 具有 List<User> 实例变量。而不是 List<User> program; ,你会有 Program program;

    如果项目包含 列表 对于程序,定义 Project 具有 List<Program> 实例变量。而不是 List<List<User>>> project; ,你会有 Project project;

    如果团队包含 列表 对于项目,定义 Team 具有 List<Project> 实例变量。而不是 List<List<List<User>>>> team; ,你会有 Team team;