Schnittstelle Object2ObjectMap<T,V>

Typparameter:
T - the keyType of elements maintained by this Collection
V - the keyType of elements maintained by this Collection
Alle Superschnittstellen:
Function<T,V>, Map<T,V>, UnaryOperator<T,V>
Alle bekannten Unterschnittstellen:
Object2ObjectConcurrentMap<T,V>, Object2ObjectNavigableMap<T,V>, Object2ObjectOrderedMap<T,V>, Object2ObjectSortedMap<T,V>
Alle bekannten Implementierungsklassen:
AbstractObject2ObjectMap, Enum2ObjectMap, ImmutableObject2ObjectOpenHashMap, LinkedEnum2ObjectMap, Object2ObjectArrayMap, Object2ObjectAVLTreeMap, Object2ObjectConcurrentOpenHashMap, Object2ObjectLinkedOpenCustomHashMap, Object2ObjectLinkedOpenHashMap, Object2ObjectMaps.EmptyMap, Object2ObjectMaps.SingletonMap, Object2ObjectMaps.SynchronizedMap, Object2ObjectMaps.SynchronizedNavigableMap, Object2ObjectMaps.SynchronizedOrderedMap, Object2ObjectMaps.SynchronizedSortedMap, Object2ObjectMaps.UnmodifyableMap, Object2ObjectMaps.UnmodifyableNavigableMap, Object2ObjectMaps.UnmodifyableOrderedMap, Object2ObjectMaps.UnmodifyableSortedMap, Object2ObjectOpenCustomHashMap, Object2ObjectOpenHashMap, Object2ObjectRBTreeMap

public interface Object2ObjectMap<T,V> extends Map<T,V>, UnaryOperator<T,V>
A Type Specific Map that reduces memory overhead due to boxing/unboxing of Primitives and some extra helper functions.
  • Methodendetails

    • builder

      static Object2ObjectMap.MapBuilder builder()
      Helper Class that allows to create Maps without requiring a to type out the entire implementation or know it.
      Gibt zurück:
      a MapBuilder
    • getDefaultReturnValue

      V getDefaultReturnValue()
      Method to see what the default return value is.
      Gibt zurück:
      default return value
    • setDefaultReturnValue

      Object2ObjectMap<T,V> setDefaultReturnValue(V v)
      Method to define the default return value if a requested key isn't present
      Parameter:
      v - value that should be the default return value
      Gibt zurück:
      itself
    • copy

      A Function that does a shallow clone of the Map itself. This function is more optimized then a copy constructor since the Map does not have to be unsorted/resorted. It can be compared to Cloneable but with less exception risk
      Gibt zurück:
      a Shallow Copy of the Map
      Note:
      Wrappers and view Maps will not support this feature
    • put

      V put(T key, V value)
      Type Specific method to reduce boxing/unboxing of values
      Angegeben von:
      put in Schnittstelle Map<T,V>
      Parameter:
      key - the key that should be inserted,
      value - the value that should be inserted
      Gibt zurück:
      the last present value or default return value.
      Siehe auch:
    • put

      default V put(Object2ObjectMap.Entry<T,V> entry)
      A Helper method that allows to put int a Object2ObjectMap.Entry into a map.
      Parameter:
      entry - then Entry that should be inserted.
      Gibt zurück:
      the last present value or default return value.
    • putAll

      default void putAll(T[] keys, V[] values)
      Type Specific array method to bulk add elements into a map without creating a wrapper and increasing performances
      Parameter:
      keys - the keys that should be added
      values - the values that should be added
      Löst aus:
      IllegalStateException - if the arrays are not the same size
      Siehe auch:
    • putAll

      void putAll(T[] keys, V[] values, int offset, int size)
      Type Specific array method to bulk add elements into a map without creating a wrapper and increasing performances
      Parameter:
      keys - the keys that should be added
      values - the values that should be added
      offset - where the to start in the array
      size - how many elements should be added
      Löst aus:
      IllegalStateException - if the arrays are not within the range
      Siehe auch:
    • putIfAbsent

      V putIfAbsent(T key, V value)
      Type Specific method to reduce boxing/unboxing of values
      Angegeben von:
      putIfAbsent in Schnittstelle Map<T,V>
      Parameter:
      key - the key that should be inserted,
      value - the value that should be inserted
      Gibt zurück:
      the last present value or default return value.
      Siehe auch:
    • putAllIfAbsent

      void putAllIfAbsent(Object2ObjectMap<T,V> m)
      Type-Specific bulk put method put elements into the map if not present.
      Parameter:
      m - elements that should be added if not present.
    • putAll

      void putAll(Object2ObjectMap<T,V> m)
      Type Specific function for the bull putting of values
      Parameter:
      m - the elements that should be inserted
    • rem

      V rem(T key)
      Type Specific remove function to reduce boxing/unboxing
      Parameter:
      key - the element that should be removed
      Gibt zurück:
      the value that was removed or default return value
    • remove

      default V remove(Object key)
      Angegeben von:
      remove in Schnittstelle Map<T,V>
      Parameter:
      key - the element that should be removed
      Gibt zurück:
      the value that was removed or default return value
      Siehe auch:
      Note:
      in some implementations key does not have to be T but just have to support equals with T.
    • remOrDefault

      V remOrDefault(T key, V defaultValue)
      Type-Specific Remove function with a default return value if wanted.
      Parameter:
      key - the element that should be removed
      defaultValue - the value that should be returned if the entry doesn't exist
      Gibt zurück:
      the value that was removed or default value
      Siehe auch:
    • replace

      boolean replace(T key, V oldValue, V newValue)
      A Type Specific replace method to replace an existing value
      Angegeben von:
      replace in Schnittstelle Map<T,V>
      Parameter:
      key - the element that should be searched for
      oldValue - the expected value to be replaced
      newValue - the value to replace the oldValue with.
      Gibt zurück:
      true if the value got replaced
      Note:
      this fails if the value is not present even if it matches the oldValue
    • replace

      V replace(T key, V value)
      A Type Specific replace method to reduce boxing/unboxing replace an existing value
      Angegeben von:
      replace in Schnittstelle Map<T,V>
      Parameter:
      key - the element that should be searched for
      value - the value to replace with.
      Gibt zurück:
      the present value or default return value
      Note:
      this fails if the value is not present
    • replaceObjects

      void replaceObjects(Object2ObjectMap<T,V> m)
      Type-Specific bulk replace method. Could be seen as putAllIfPresent
      Parameter:
      m - elements that should be replaced.
    • replaceObjects

      void replaceObjects(ObjectObjectUnaryOperator<T,V> mappingFunction)
      A Type Specific mass replace method to reduce boxing/unboxing
      Parameter:
      mappingFunction - operation to replace all values
    • compute

      V compute(T key, ObjectObjectUnaryOperator<T,V> mappingFunction)
      A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.
      Parameter:
      key - the key that should be computed
      mappingFunction - the operator that should generate the value
      Gibt zurück:
      the result of the computation
    • computeIfAbsent

      V computeIfAbsent(T key, UnaryOperator<T,V> mappingFunction)
      A Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.
      Parameter:
      key - the key that should be computed
      mappingFunction - the operator that should generate the value if not present
      Gibt zurück:
      the result of the computed value or present value
    • supplyIfAbsent

      V supplyIfAbsent(T key, ObjectSupplier<V> valueProvider)
      A Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.
      Parameter:
      key - the key that should be computed
      valueProvider - the value if not present
      Gibt zurück:
      the result of the computed value or present value
    • computeIfPresent

      V computeIfPresent(T key, ObjectObjectUnaryOperator<T,V> mappingFunction)
      A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.
      Parameter:
      key - the key that should be computed
      mappingFunction - the operator that should generate the value if present
      Gibt zurück:
      the result of the default return value or present value
      Note:
      if not present then compute is not executed
    • merge

      V merge(T key, V value, ObjectObjectUnaryOperator<V,V> mappingFunction)
      A Type Specific merge method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.
      Parameter:
      key - the key that should be be searched for
      value - the value that should be merged with
      mappingFunction - the operator that should generate the new Value
      Gibt zurück:
      the result of the merge
      Note:
      if the result matches the default return value then the key is removed from the map
    • mergeAll

      void mergeAll(Object2ObjectMap<T,V> m, ObjectObjectUnaryOperator<V,V> mappingFunction)
      A Bulk method for merging Maps. If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.
      Parameter:
      m - the entries that should be bulk added
      mappingFunction - the operator that should generate the new Value
      Note:
      if the result matches the default return value then the key is removed from the map
    • apply

      default V apply(T key)
      Beschreibung aus Schnittstelle kopiert: UnaryOperator
      Type Specific get function to reduce boxing/unboxing
      Angegeben von:
      apply in Schnittstelle Function<T,V>
      Angegeben von:
      apply in Schnittstelle UnaryOperator<T,V>
      Parameter:
      key - the value that should be processed
      Gibt zurück:
      the result of the function
    • getObject

      V getObject(T key)
      A Type Specific get method to reduce boxing/unboxing
      Parameter:
      key - the key that is searched for
      Gibt zurück:
      the searched value or default return value
    • replaceAll

      default void replaceAll(BiFunction<? super T,? super V,? extends V> mappingFunction)
      Angegeben von:
      replaceAll in Schnittstelle Map<T,V>
    • compute

      default V compute(T key, BiFunction<? super T,? super V,? extends V> mappingFunction)
      Angegeben von:
      compute in Schnittstelle Map<T,V>
    • computeIfAbsent

      default V computeIfAbsent(T key, Function<? super T,? extends V> mappingFunction)
      Angegeben von:
      computeIfAbsent in Schnittstelle Map<T,V>
    • computeIfPresent

      default V computeIfPresent(T key, BiFunction<? super T,? super V,? extends V> mappingFunction)
      Angegeben von:
      computeIfPresent in Schnittstelle Map<T,V>
    • merge

      default V merge(T key, V value, BiFunction<? super V,? super V,? extends V> mappingFunction)
      Angegeben von:
      merge in Schnittstelle Map<T,V>
    • forEach

      void forEach(ObjectObjectConsumer<T,V> action)
      Type Specific forEach method to reduce boxing/unboxing
      Parameter:
      action - processor of the values that are iterator over
    • forEach

      default void forEach(BiConsumer<? super T,? super V> action)
      Angegeben von:
      forEach in Schnittstelle Map<T,V>
    • keySet

      ObjectSet<T> keySet()
      Angegeben von:
      keySet in Schnittstelle Map<T,V>
    • values

      ObjectCollection<V> values()
      Angegeben von:
      values in Schnittstelle Map<T,V>
    • entrySet

      ObjectSet<Map.Entry<T,V>> entrySet()
      Angegeben von:
      entrySet in Schnittstelle Map<T,V>
    • object2ObjectEntrySet

      ObjectSet<Object2ObjectMap.Entry<T,V>> object2ObjectEntrySet()
      Type Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.
      Gibt zurück:
      a EntrySet of the collection
    • synchronize

      default Object2ObjectMap<T,V> synchronize()
      Creates a Wrapped Map that is Synchronized
      Gibt zurück:
      a new Map that is synchronized
      Siehe auch:
    • synchronize

      default Object2ObjectMap<T,V> synchronize(Object mutex)
      Creates a Wrapped Map that is Synchronized
      Parameter:
      mutex - is the controller of the synchronization block
      Gibt zurück:
      a new Map Wrapper that is synchronized
      Siehe auch:
    • unmodifiable

      default Object2ObjectMap<T,V> unmodifiable()
      Creates a Wrapped Map that is unmodifiable
      Gibt zurück:
      a new Map Wrapper that is unmodifiable
      Siehe auch: