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