] Как можно уменьшить [] LinkedHashMap [
]? Я переопределил метод [] removeEldestEntry [
], но этот метод вызывается только один раз, когда вставляется новое значение. Таким образом, нет никаких изменений в уменьшении карты таким образом. [
] [] LinkedHashMap [
] дает мне только обычный [] итератор [
] и не имеет никаких [] removeLast [
] или [] listIterator [
], так как же найти последние, скажем, 1000 записей и удалить их? [
] Единственный способ, который я могу придумать, - это перебирать все это целиком. Но это может занять много времени ... [
] [] Создание новой карты каждый раз, когда я хочу удалить только несколько элементов, также разрушит память. [
] [] Возможно, удалите первые значения [] Iterator [
], а затем снова вставьте их, когда [] maxSize [
] был уменьшен в методе [] removeEldestEntry [
]. Тогда при повторной вставке будут удалены самые старые значения. Это очень уродливый код ... Есть идеи получше? [
] РЕДАКТИРОВАТЬ: Извините, порядок итераций от самого старого к младшему. Так что это просто [
]