Google Guava: utilizzare le Multimap
Google Guava è una libreria per Java con diverse utilità.
Oggi vediamo come usare l'interfaccia Multimap!
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>
Multimap è un'estensione di Map che ci permette di avere le chiavi duplicate.
Vediamo un esempio del suo utilizzo:
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Multimap<String, Integer> mm = ArrayListMultimap.create();
mm.put("string 1", 1);
mm.put("string 1", 2);
mm.put("string 1", 3);
mm.put("string 2", 4);
mm.put("string 2", 5);
// CREO LISTA DA MULTIMAP
List<Integer> list = (List<Integer>) mm.get("string 1");
System.out.println(list.toString());
// MODIFICO LA LISTA
list.add(100);
System.out.println(list.toString());
// ITERO SULLA MULTIMAP OTTENENDO UNA MAP
Map<String, Collection<Integer>> map = mm.asMap();
for (Map.Entry<String, Collection<Integer>> entry : map.entrySet()) {
String key = entry.getKey();
Collection<Integer> value = mm.get("string 2");
System.out.println(key + ":" + value);
}
}
}
Enjoy!
java google guava maven multimap map
Commentami!