Java tutorial
//package com.java2s; import java.util.HashMap; import java.util.Map; public class Main { public static <K> Map<K, Integer> add(Map<K, Integer> map, K k, int add) { Integer value = map.get(k); if (value == null) value = 0; value += add; map.put(k, value); return map; } public static <K> Map<K, Double> add(Map<K, Double> map, K k, double add) { Double value = map.get(k); if (value == null) value = 0.0; value += add; map.put(k, value); return map; } /** * Return the mapped value of the specified key k. * If no such key k, return the specified value v. * @param <K> * @param <V> * @param map * @param k * @param v the default value if no key exist. * @return */ public static <K, V> V get(Map<K, V> map, K k, V v) { if (map.containsKey(k)) return map.get(k); return v; } /** * Puts the specified t-k-v triplet into the specified * <code>map</code> * @param map * @param t * @param k * @param v * @return */ public static <T, K, V> Map<T, Map<K, V>> put(Map<T, Map<K, V>> map, T t, K k, V v) { Map<K, V> subMap = map.get(t); if (subMap == null) subMap = new HashMap<K, V>(); subMap.put(k, v); map.put(t, subMap); return map; } }