Home > Net >  smart way to save team members
smart way to save team members

Time:01-30

I would like to have a list of teams with team members.
(I am writing the example code in java, but the solution doesn't have to use java.)
Like this:

class Member {
    
}

class Team {
    ArrayList<Member> members;
}

ArrayList<Team> teams;

If I would like to access all the team members of one team, that would be pretty straight forward.
But what if I would like to see which team a member is part of?
I don't want to loop over all teams team members every time.

I could save every member's team inside the member's class, but isn't that kind of dumb?

CodePudding user response:

Use a bidirectional association. You will need extra methods to make sure the data stays consistent. In the example I solved this problem by adding a newMember method to Team, but it could also be solved by adding setters that will set the team and update the member list at the same time.

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;
    }
}

CodePudding user response:

Just use an Array of type String and a for loop to print out all teams and team members.

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]);
        }
    }
  •  Tags:  
  • Related