Class ArrayMap<K,V>

java.lang.Object
org.olap4j.impl.ArrayMap<K,V>
All Implemented Interfaces:
Map<K,V>
Direct Known Subclasses:
UnmodifiableArrayMap

public class ArrayMap<K,V> extends Object implements Map<K,V>
Implementation of Map which uses an array and is therefore not very fast but very space-efficient.

This implementation uses very little space but is inefficient. The operations put(K, V), remove(java.lang.Object), get(java.lang.Object) all take time proportional to the number of keys.

Since:
Dec 9, 2007
Author:
jhyde
  • Constructor Details

    • ArrayMap

      public ArrayMap()
      Creates an empty ArrayMap.
    • ArrayMap

      public ArrayMap(Map<K,V> map)
      Creates an ArrayMap whose contents the same as the given map.

      This method is a more efficient way to build a large array than repeatly calling put(K, V) or even calling putAll(java.util.Map<? extends K, ? extends V>).

      Parameters:
      map - Map
  • Method Details

    • of

      public static <K, V> Map<K,V> of(K key, V value, Object... keyValues)
      Returns an array map with given contents.
      Type Parameters:
      K - Key type
      V - Value type
      Parameters:
      key - First key
      value - First value
      keyValues - Second and sequent key/value pairs
      Returns:
      Map with given contents
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Map<K,V>
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Map<K,V>
      Overrides:
      hashCode in class Object
    • 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>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue 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 void putAll(Map<? extends K,? extends V> m)
      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()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>
    • toString

      public String toString()
      Overrides:
      toString in class Object