Class MapBuilder<K,V,M extends Map<K,V>>

java.lang.Object
com.kingsrook.qqq.backend.core.utils.collections.MapBuilder<K,V,M>

public class MapBuilder<K,V,M extends Map<K,V>> extends Object
Map.of is "great", but annoying because it makes unmodifiable maps, and it NPE's on nulls... So, replace it with this, which returns HashMaps (or maps of the type you choose). Can use it 2 ways: MapBuilder.of(key, value, key2, value2, ...) => Map (a HashMap) MapBuilder.of(() -> new SomeMapinvalid input: '<'SomeKeyType, SomeValueType>()).with(key, value).with(key2, value2)...build() => SomeMap (the type you specify)
  • Method Summary

    Modifier and Type
    Method
    Description
     
    static <K, V, M extends Map<K, V>>
    MapBuilder<K,V,M>
    of(Supplier<M> mapSupplier)
     
    static <K, V> Map<K,V>
    of(K k1, V v1)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2, K k3, V v3)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7)
     
    static <K, V> Map<K,V>
    of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8)
     
    with(K key, V value)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • of

      public static <K, V, M extends Map<K, V>> MapBuilder<K,V,M> of(Supplier<M> mapSupplier)
    • with

      public MapBuilder<K,V,M> with(K key, V value)
    • build

      public M build()
    • of

      public static <K, V> Map<K,V> of(K k1, V v1)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7)
    • of

      public static <K, V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8)