aboutsummaryrefslogtreecommitdiff
path: root/entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java
diff options
context:
space:
mode:
authorfunemy2022-10-24 02:21:57 +0000
committerfunemy2022-10-24 02:21:57 +0000
commit95f14a976eda122d8f58ed1ff6ee4f16f1f81b77 (patch)
tree35650c8d04f2745d9ea233948cf6c81ba9b4cda6 /entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java
parent201f9e290b59838ed249b7d1be03e5b8230bef3e (diff)
parent46a659c983911b87b38b20cd4b28ab9176e4fdb3 (diff)
Merge branch 'main' of github.com:braxtonhall/fib
Diffstat (limited to 'entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java')
-rw-r--r--entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java b/entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java
new file mode 100644
index 0000000..5c404e8
--- /dev/null
+++ b/entries/nritschel/fib-java/src/CachedFibonacciNumberFactory.java
@@ -0,0 +1,13 @@
+import java.util.HashMap;
+
+public class CachedFibonacciNumberFactory implements FibonacciNumberFactory {
+ private final HashMap<Integer, FibonacciNumber> cachedNumbers = new HashMap<>();
+
+ @Override
+ public FibonacciNumber getFibonacciNumber(int num) {
+ if (!cachedNumbers.containsKey(num)) {
+ cachedNumbers.put(num, new FibonacciNumber(num));
+ }
+ return cachedNumbers.get(num);
+ }
+}