您可以使用linkedHashMap(Java 1.4+):
// Create cachefinal int MAX_ENTRIES = 100;Map cache = new linkedHashMap(MAX_ENTRIES+1, .75F, true) { // This method is called just after a new entry has been added public boolean removeEldestEntry(Map.Entry eldest) { return size() > MAX_ENTRIES; }};// Add to cacheObject key = "key";cache.put(key, object);// Get objectObject o = cache.get(key);if (o == null && !cache.containsKey(key)) { // Object not in cache. If null is not a possible value in the cache, // the call to cache.contains(key) is not needed}// If the cache is to be used by multiple threads,// the cache must be wrapped with pre to synchronize the methodscache = (Map)Collections.synchronizedMap(cache);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)