Class SmallMap<K,​V>

  • All Implemented Interfaces:
    Map<K,​V>

    public class SmallMap<K,​V>
    extends Object
    implements Map<K,​V>
    Map implementation with a smallest possible memory usage. It should only be used for maps with small number of items (e.g. <30) since most operations have an O(n) complexity. Thus it should be used in cases with large number of map objects, each having only few items.

    null is not supported for keys or values.

    • Constructor Detail

      • SmallMap

        public SmallMap()
        Creates empty map.
      • SmallMap

        public SmallMap​(Map<? extends K,​? extends V> initMap)
        Creates map filled with entries from provided map.
    • Method Detail

      • size

        public int size()
        Specified by:
        size in interface Map<K,​V>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface Map<K,​V>
      • containsKey

        public boolean containsKey​(Object key)
        Specified by:
        containsKey in interface Map<K,​V>
      • get

        public V get​(Object key)
        Specified by:
        get in interface Map<K,​V>
      • put

        public V put​(K key,
                     V value)
        Specified by:
        put in interface Map<K,​V>
      • remove

        public V remove​(Object key)
        Specified by:
        remove in interface Map<K,​V>
      • putAll

        public final void putAll​(Map<? extends K,​? extends V> otherMap)
        Specified by:
        putAll in interface Map<K,​V>
      • clear

        public void clear()
        Specified by:
        clear in interface Map<K,​V>
      • keySet

        public Set<K> keySet()
        Returns a set view of the keys contained in this map.

        The current implementation does not allow changes to the returned key set (which would have to be reflected in the underlying map.

        Specified by:
        keySet in interface Map<K,​V>
      • values

        public Collection<V> values()
        Returns a collection of the values contained in this map.

        The current implementation does not allow changes to the returned collection (which would have to be reflected in the underlying map.

        Specified by:
        values in interface Map<K,​V>