繁体   English   中英

拯救团队成员的聪明方法

[英]smart way to save team members

我想要一份包含团队成员的团队列表。
(我在 java 中编写示例代码,但解决方案不必使用 java。)
像这样:

class Member {
    
}

class Team {
    ArrayList<Member> members;
}

ArrayList<Team> teams;

如果我想访问一个团队的所有团队成员,那将非常简单。
但是,如果我想查看某个成员属于哪个团队怎么办?
我不想每次都遍历所有团队成员。

我可以将每个成员的团队保存在成员的 class 中,但这不是很愚蠢吗?

使用双向关联。 您将需要额外的方法来确保数据保持一致。 在示例中,我通过向Team添加一个newMember方法解决了这个问题,但也可以通过添加设置团队并同时更新成员列表的 setter 来解决这个问题。

class Member {
    final Team team;

    Member(Team team) {
        this.team = team;
    }
}

class Team {
    ArrayList<Member> members;

    public Member newMember() {
        Member member = new Members(this);
        members.add(member);
        return member;
    }
}

只需使用 String 类型的 Array 和 for 循环即可打印出所有团队和团队成员。

String[][] teams = new String[2][4];//[numer of team][max. number of memebers per team + one]
    
    teams[0][0] = "team1";
    teams[0][1] = "team1Member1";
    teams[0][2] = "team1Member2";
    teams[0][3] = "team1Member3";

    teams[1][0] = "team2";
    teams[1][1] = "team2Member1";
    teams[1][2] = "team2Member2";
    teams[1][3] = "team2Member3";

    //get all members of all teams



    for(int i = 0; i < teams.length; i++){
        System.out.println("team: " + teams[i][0]);
        for(int j = 1; j < teams[0].length; j++){
        System.out.println("\t" + teams[i][j]);
        }
    }

暂无
暂无

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

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