package com.insightfullogic.java8.answers.chapter5;
import java.util.HashMap;
import java.util.Map;
public class Fibonacci {
private final Map<Integer,Long> cache;
public Fibonacci() {
cache = new HashMap<>();
cache.put(0, 0L);
cache.put(1, 1L);
}
public long fibonacci(int x) {
return cache.computeIfAbsent(x, n -> fibonacci(n-1) + fibonacci(n-2));
}
}