GenuineSounds icon

Untitled

GenuineSounds | PRO | 02/21/15 12:37:12 PM UTC | 0 ⭐ | 533 👁️ | Never ⏰ | []
Java |

540 B

|

None

|

0 👍

/

0 👎

package com.genuinevm.tests;
 
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
 
public class MemoizedFunction<T, U> implements Function<T, U> {
 
    public final Map<T, U> cache = new ConcurrentHashMap<>();
    private final Function<T, U> function;
 
    public MemoizedFunction(Function<T, U> function) {
        this.function = function;
    }
 
    public Function<T, U> normal() {
        return function::apply;
    }
 
    @Override
    public U apply(T t) {
        return cache.computeIfAbsent(t, function);
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎