Google Guava: utilizzare le Multimap

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!




Share

Commentami!

About Mattepuffo.com

Blog dedicato all'informatica e alla programmazione!
Tutti i contenuti di questo blog, tranne casi particolari, sono sotto licenza Licenza Creative Commons Creative Commons Attribution-Noncommercial-Share Alike 2.5. .

2644 articoli
310 commenti
19 progetti
Altri link
  • About
  • Scrivimi
  • Copyright
  • Sitemap
  • matteo.ferrone@yahoo.it
  • GitHub
  • Privacy Policy