![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
math64 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Это в коде:
deleteNode(child) изменяет список del.childs, а скрытый итератор проверяет список на модификацию В пиннципе, в рекурсивном вызове достаточно сделать только nodesById.remove(del.id); остальное соберёт мусорщик.
|
||||
|
|||||
Felixx |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 4.12.2008 Репутация: нет Всего: нет |
Яб заюзал что то типа <Map, TESTOBJETC> objects = new TreeMap<Map, TESTOBJETC>();
А с обьектом чо хош то и делай.и всегда он разный. а Key у всех разный. |
|||
|
||||
ci5 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.12.2008 Репутация: нет Всего: нет |
Спасибо большое! Наконец-то реализовал это дело. пришлось еще помучиться с самой картой. Я её проходил как
и получал такую картину (ввожу 16 элементов)
поменял на итератор и всё встало на свои места.
правда не понял я лично почему так произошло и почему map не почистил нулевые ссылки. Причем размер правильный выдаётся, а вот до последних 3-х элементов карта не доходила. |
||||||
|
|||||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Он может их почистить (если правильно чистить), но не сможет сделать перенумерацию - после удаления узлов в их нумерации остаются дырки.
Когда делаешь get(i), где i - удалённый дескриптор, получишь null. Так что перебор keySet() - единственно правильный метод. Но если использовать HashMap, то ещё и порядок распечатки будет произвольный. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |