/** * Thread safe sorted map implementation * @param <K> * @param <T> * @param <V> * @return */ public static <K, T, V> MultiDimensionalMap<K, T, V> newThreadSafeTreeBackedMap() { return new MultiDimensionalMap<>(new ConcurrentSkipListMap<Pair<K, T>, V>()); }
public boolean contains(K k, T t) { return containsKey(new Pair<>(k, t)); }
public V get(K k, T t) { return get(new Pair<>(k, t)); }
public void put(K k, T t, V v) { put(new Pair<>(k, t), v); }
/** * Tree map implementation * @param <K> * @param <T> * @param <V> * @return */ public static <K, T, V> MultiDimensionalMap<K, T, V> newTreeBackedMap() { return new MultiDimensionalMap<>(new TreeMap<Pair<K, T>, V>()); }
/** * Thread safe hash map impl * @param <K> * @param <T> * @param <V> * @return */ public static <K, T, V> MultiDimensionalMap<K, T, V> newHashBackedMap() { return new MultiDimensionalMap<>(new HashMap<Pair<K, T>, V>()); }
/** * Thread safe hash map implementation * @param <K> * @param <T> * @param <V> * @return */ public static <K, T, V> MultiDimensionalMap<K, T, V> newThreadSafeHashBackedMap() { return new MultiDimensionalMap<>(new ConcurrentHashMap<Pair<K, T>, V>()); }