MultiMap
is a specialized map where you can associate a key with multiple values.
Just like any other distributed data structure implementation in Hazelcast,
MultiMap
is distributed/partitioned and thread-safe.
import com.hazelcast.core.MultiMap; import com.hazelcast.core.Hazelcast; import java.util.Collection; import com.hazelcast.config.Config; Config cfg = new Config(); HazelcastInstance hz = Hazelcast.newHazelcastInstance(cfg); // a multimap to hold <customerId, Order> pairs MultiMap<String, Order> mmCustomerOrders = hz.getMultiMap("customerOrders"); mmCustomerOrders.put("1", new Order ("iPhone", 340)); mmCustomerOrders.put("1", new Order ("MacBook", 1200)); mmCustomerOrders.put("1", new Order ("iPod", 79)); // get orders of the customer with customerId 1. Collection<Order> colOrders = mmCustomerOrders.get ("1"); for (Order order : colOrders) { // process order } // remove specific key/value pair boolean removed = mmCustomerOrders.remove("1", new Order ("iPhone", 340));