All Downloads are FREE. Search and download functionalities are using the official Maven repository.

in.ashwanthkumar.utils.collections.Maps Maven / Gradle / Ivy

The newest version!
package in.ashwanthkumar.utils.collections;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class Maps {
    public static  Map empty() {
        return Collections.emptyMap();
    }

    public static  Map of(K key, V value) {
        HashMap map = new HashMap();
        map.put(key, value);
        return map;
    }

    public static  Map of(K k1, V v1, K k2, V v2) {
        Map map = of(k1, v1);
        map.put(k2, v2);
        return map;
    }

    public static  Map of(K k1, V v1, K k2, V v2, K k3, V v3) {
        Map map = of(k1, v1, k2, v2);
        map.put(k3, v3);
        return map;
    }

    public static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) {
        Map map = of(k1, v1, k2, v2, k3, v3);
        map.put(k4, v4);
        return map;
    }

    public static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) {
        Map map = of(k1, v1, k2, v2, k3, v3, k4, v4);
        map.put(k5, v5);
        return map;
    }

    public static  Map 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) {
        Map map = of(k1, v1, k2, v2, k3, v3, k4, v4, k5, v5);
        map.put(k6, v6);
        return map;
    }

    public static  V getOrElse(Map map, K key, V defaultValue) {
        return map.containsKey(key) ? map.get(key) : defaultValue;
    }

    public static class MapBuilder {
        private Map internalMap = new HashMap();

        private MapBuilder() {
        }

        public MapBuilder put(K key, V value) {
            internalMap.put(key, value);
            return this;
        }

        public Map value() {
            return internalMap;
        }
    }

    public static  MapBuilder builder() {
        return new MapBuilder();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy