Я знаю, что существует метод removeEldestEntry, который я должен переопределить
blockquote>. Это утверждение неверно, поскольку
LinkedHashSet
HAS-ALinkedHashMap
, а не 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
aLinkedHashMap
(интерфейс Set-Like), реализующий ваш пользовательский методremoveEldestEntry
.
MAX_ENTRIES
является настраиваемой константой, которую вы бы определили.