PDA

View Full Version : [JAVA] Inserire Objects in Maps


MaxTesti
05-05-2019, 10:41
Buongiorno a tutti

Ho un piccolo problema che non riesco a risolvere e avrei bisogno di un aiuto.

Ho queste due class

public class Team
{
private String name;
private String division;

public Team(String aName, String aDivision)
{
name = aName;
division = aDivision;
}


public class LeagueAdmin
{
private Map<String, List<Team>> teams;


public LeagueAdmin()
{
super();
this.teams = new HashMap<>();
}

public void addTeam(String division, Team team)
{


}

Poi usando il metodo addTeam aggiungo i dati:

LeagueAdmin leagueA = new LeagueAdmin(); // crea un object di tipo LeagueAdmin

Team chelsea = new Team("Chelsea","Premier"); // crea un object di tipo Team

leagueA.addTeam("Premier", chelsea);

Sono riuscito ad aggiungere i dati ("Premier", chelsea) a teams ma non riesco ad aggiungere un'altra team dove gia' esiste un teams

Per esempio:
Team arsenal = new Team("Arsenal","Premier");
leagueA.addTeam("Premier", arsenal);

Come aggiungere arsenal alla stessa Map?

Se avete degli esempi di come fare forse mi sarebbero di aiuto.

Lampo89
05-05-2019, 22:51
Devi implementare a dovere il addTeam, a parole: se la mappa non contiene già un elemento con la data key, dovrai inserire nella mappa una nuova entry nella mappa con valore una lista con un solo valore (il team passato appunto). Se la mappa già contiene la key, semplicemente aggiungi il team alla lista.
Altrimenti puoi semplificare usando le Multimap
https://google.github.io/guava/releases/snapshot-jre/api/docs/com/google/common/collect/Multimap.html