diff options
Diffstat (limited to 'third_party/checker_framework_javacutil/java/org/checkerframework/javacutil/CollectionUtils.java')
-rw-r--r-- | third_party/checker_framework_javacutil/java/org/checkerframework/javacutil/CollectionUtils.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/third_party/checker_framework_javacutil/java/org/checkerframework/javacutil/CollectionUtils.java b/third_party/checker_framework_javacutil/java/org/checkerframework/javacutil/CollectionUtils.java new file mode 100644 index 0000000000..eaaa69115d --- /dev/null +++ b/third_party/checker_framework_javacutil/java/org/checkerframework/javacutil/CollectionUtils.java @@ -0,0 +1,26 @@ +package org.checkerframework.javacutil; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Utility methods related to Java Collections + */ +public class CollectionUtils { + + /** + * A Utility method for creating LRU cache + * @param size size of the cache + * @return a new cache with the provided size + */ + public static <K, V> Map<K, V> createLRUCache(final int size) { + return new LinkedHashMap<K, V>() { + + private static final long serialVersionUID = 5261489276168775084L; + @Override + protected boolean removeEldestEntry(Map.Entry<K, V> entry) { + return size() > size; + } + }; + } +} |