Search code examples
javahashmapprocessingmultimap

Multimap in Processing


I would like to know a way to use multimap in Processing IDE.

Is there any libraries which I can use?

I need to add several values for same key in a map.

Your help is much appreciated.


Solution

  • You can add following library

    http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html

    Multimap<String,Object> myMultimap = ArrayListMultimap.create();
    
    public class MutliMapTest {
        public static void main(String... args) {
      Multimap<String, String> myMultimap = ArrayListMultimap.create();
    
      // Adding some key/value
      myMultimap.put("Fruits", "Bannana");
      myMultimap.put("Fruits", "Apple");
      myMultimap.put("Fruits", "Pear");
      myMultimap.put("Vegetables", "Carrot");
    
      // Getting the size
      int size = myMultimap.size();
      System.out.println(size);  // 4
    
      // Getting values
      Collection<String> fruits = myMultimap.get("Fruits");
      System.out.println(fruits); // [Bannana, Apple, Pear]
    
      Collection<String> vegetables = myMultimap.get("Vegetables");
      System.out.println(vegetables); // [Carrot]
    
      // Iterating over entire Mutlimap
      for(String value : myMultimap.values()) {
       System.out.println(value);
      }
    
      // Removing a single value
      myMultimap.remove("Fruits","Pear");
      System.out.println(myMultimap.get("Fruits")); // [Bannana, Pear]
    
      // Remove all values for a key
      myMultimap.removeAll("Fruits");
      System.out.println(myMultimap.get("Fruits")); // [] (Empty Collection!)
     }
    }
    

    You can download from here

    https://code.google.com/p/guava-libraries/