Je crée un Flyweight en Java, et je veux m'assurer que je ne crée pas une carte trop grande. Y a-t-il un moyen plus efficace d'élaguer la carte? Je n'ai vu aucune propriété qui pourrait le faire automatiquement (comme un constructeur de taille max), donc je le fais dans le code.Un moyen efficace d'élaguer HashMap
Voici ce que j'ai, son assez basique, mais je veux vous assurer qu'il n'y a pas une meilleure façon:
private static void prune() {
Iterator<Entry<Integer, Integer[]>> iterator = seeds.entrySet().iterator();
int removed = 0;
while(iterator.hasNext()|| removed == pruneLength) {
iterator.next();
iterator.remove();
removed++;
}
}
Voulez-vous dire que vous essayez d'éviter une carte qui a une large gamme de clés ou? –
Pourquoi ne pas utiliser 'iterator.remove()'? Cela renvoie sur la carte. –
Je veux limiter la croissance de ces cartes au fil du temps. Je ne devrais pas atteindre cette limite souvent ... – Nix