Google Guava: utilizzare le Table
Google Guava è una libreria per Java con diverse utilità.
Oggi vediamo come usare l'interfaccia Table!
Se usate Maven aggiungete questa dipendenza:
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0-jre</version>
</dependency>
Riassumento possiamo dire che le Table sono come una Map di Map.
Ci permette di legare diverse chiavi in "gruppi"; come esempio, prenderemo tre suqadre di calcio, con tre giocatori ciascuna.
Ad ogni giocatore viene assegnato un ruolo.
Poi vederemo che prendere i giocatori di una squadra, o come prendere il dettaglio di un giocatore.
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Table<String, String, String> tbl = HashBasedTable.create();
tbl.put("ROMA", "TOTTI", "CAPITANO");
tbl.put("ROMA", "MONTELLA", "ATTACCANTE");
tbl.put("ROMA", "ALDAIR", "DIFENSORE");
tbl.put("BARCELLONA", "MESSI", "ATTACCANTE");
tbl.put("BARCELLONA", "PUYOL", "DIFENSORE");
tbl.put("BARCELLONA", "DANI ALVES", "TERZINO");
tbl.put("INTER", "ZANETTI", "CAPITANO");
tbl.put("INTER", "RONALDO", "ATTACCANTE");
tbl.put("INTER", "BERGOMI", "DIFENSORE");
Map<String, String> squadra = tbl.row("ROMA");
for (Map.Entry<String, String> entry : squadra.entrySet()) {
System.out.println("NOME: " + entry.getKey() + ", RUOLO: "
+ entry.getValue());
}
Map<String,String> squadraMap = tbl.column("TOTTI");
for(Map.Entry<String, String> entry : squadraMap.entrySet()) {
System.out.println("SQUADRA: " + entry.getKey() + ", RUOLO: "
+ entry.getValue());
}
}
}
Enjoy!
java google guava maven table
Commentami!