Returns the value for the specified key. If the key is not found, the init function is called, then its result is mapped to the key and returned.