Class WeakIdentityMap<K,V>

java.lang.Object
org.litebridge.commons.type.WeakIdentityMap<K,V>
Type Parameters:
K - the type of keys maintained by this map
V - the type of mapped values
All Implemented Interfaces:
Map<K,V>

public final class WeakIdentityMap<K,V> extends Object implements Map<K,V>
A Map implementation that uses weak references for keys and compares keys using identity comparison (==). This implementation automatically removes entries when their keys are no longer strongly reachable.

This is useful for caching scenarios where: - Keys should be automatically removed when they're no longer referenced elsewhere - Key equality should be based on identity rather than equals()

See Also:
  • Constructor Details

    • WeakIdentityMap

      public WeakIdentityMap()
  • Method Details

    • put

      public @Nullable V put(K key, @Nullable V value)
      Specified by:
      put in interface Map<K,V>
    • get

      public @Nullable V get(Object key)
      Specified by:
      get in interface Map<K,V>
    • remove

      public @Nullable V remove(Object key)
      Specified by:
      remove in interface Map<K,V>
    • containsKey

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

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

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

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

      public void putAll(Map<? extends K,? extends V> m)
      Specified by:
      putAll in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • keySet

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

      public Collection<@Nullable 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>