All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.box.sdk.LRUCache Maven / Gradle / Ivy

There is a newer version: 4.12.0
Show newest version
package com.box.sdk;

import java.util.Iterator;
import java.util.LinkedHashSet;

class LRUCache {
    static final int MAX_SIZE = 512;

    private final LinkedHashSet linkedHashSet;

    LRUCache() {
        this.linkedHashSet = new LinkedHashSet(MAX_SIZE);
    }

    boolean add(E item) {
        boolean newItem = !this.linkedHashSet.remove(item);
        this.linkedHashSet.add(item);

        if (this.linkedHashSet.size() >= MAX_SIZE) {
            Iterator it = this.linkedHashSet.iterator();
            it.next();
            it.remove();
        }

        return newItem;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy