У меня есть treeMap
, содержащий guestbookEntries
. Клавиши используются для упорядочивания и разбивки на страницы. У меня проблема: при удалении записи size()
из guestbookEntries
уменьшается, что приводит к тому, что сообщения перезаписываются, например, потому что я создаю новые записи с ключом guestbookEntries.size() + 1
.Заменить TreeMap после удаления()
Чтобы изменить это, я хотел бы изменить порядок TreeMap
, чтобы при удалении пары ключ-значение. Количество всех следующих клавиш уменьшается на единицу, поэтому в пределах TreeMap
не должно быть «зазора», что приводит к правильному правилу guestbookEntries.size()
.
Я думал о чем-то подобном, где postNumber
- это ключ к удаленной записи.
for(int i = postNumber; i < guestbookEntries.size(); i++) {
Guestbook gb = guestbookEntries.get(i + 1);
guestbookEntries.put(postNumber, gb);
guestbookEntries.remove(postNumber + 1);
}
Есть ли более простой способ сделать это?
Это не отвечает на ваш вопрос, но зачем использовать TreeMap? Почему не массив Guestbook (или ArrayList)? – Thierry
Я изначально использовал его, потому что он был заказан автоматически. – mgerstner