есть ли ограниченный размер, установленный в java [duplicate]

7
задан Arian Hosseinzadeh 22 June 2013 в 22:39
поделиться

1 ответ

Я знаю, что существует метод removeEldestEntry, который я должен переопределить

. Это утверждение неверно, поскольку LinkedHashSet HAS-A LinkedHashMap, а не IS-A.

Вы можете использовать полезный (хотя и не очень известный) метод Collections.newSetFromMap :

Set<String> mySet = Collections.newSetFromMap(new LinkedHashMap<String, Boolean>(){
    protected boolean removeEldestEntry(Map.Entry<String, Boolean> eldest) {
        return size() > MAX_ENTRIES;
    }
});

Таким образом, он вернет видение Set a LinkedHashMap (интерфейс Set-Like), реализующий ваш пользовательский метод removeEldestEntry.

MAX_ENTRIES является настраиваемой константой, которую вы бы определили.

19
ответ дан Mik378 22 August 2018 в 02:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: