Object CollectionInitializer

  • All Implemented Interfaces:

    
    public class CollectionInitializer
    
                        

    Quite often many lambda objects are generated during frequent calls like getOrPut:

    class MyClass {
        private val cache = mutableMapOf<String, Stack<MyData>>()
    
        fun service(key: String) {
            cache.getOrPut(key) { Stack<MyData>() }
        }
    }

    That way it's more effective pre-defining initializers and use them like below - by doing that we avoie unnecessary lambda objects construction:

    cache.getOrPut(key, CollectionInitializer.stack())