Javaでデータキャッシュ
Javaで固定サイズのキャッシュを作るサンプル。
public class Main { /** * キャッシュ */ private Map<Integer, String> cache = new LinkedHashMap<Integer, String>(){ @Override protected boolean removeEldestEntry(Map.Entry<Integer, String> eldest) { // 30件までキャッシュ return size() > 10; } }; /** * テスト */ private void some() { // データを30件設定 for (int i=0; i< 10; i++) { cache.put(i, String.valueOf(i)); } System.out.println(cache); //{0=0, 1=1, 2=2, 3=3, 4=4, 5=5, 6=6, 7=7, 8=8, 9=9} cache.put(10, "10"); System.out.println(cache); //{1=1, 2=2, 3=3, 4=4, 5=5, 6=6, 7=7, 8=8, 9=9, 10=10} } public static void main(String[] args) { new Main().some(); } }