У меня есть ArrayList с кучей объектов MyObject. Я хочу сохранить целочисленное поле в моем объекте, являющемся ключом этого объекта в ArrayList, так что я могу легко получить позицию этого элемента в ArrayList.Обновить индекс ArrayList в объекте
Возникла проблема, когда я удаляю один объект из этого массива ArrayList, потому что индексы перемещаются влево. Каков наилучший способ избежать этой проблемы?
Должен ли я не удалять элементы, но переопределять их с нулевым значением (чтобы индекс не сдвигался), или я должен скорее перебирать ArrayList после одного удаления, чтобы обновить все поля ID в объектах?
// EDIT: Моя цель: Предположим, что я получаю некоторые объекты этого ArrayList и вставляю их в другой список. Позже, повторяя этот второй список, я хочу получить ключ от объектов в первом ArrayList. Поэтому я должен сохранить ключ в объекте. Где преимущества при использовании Карты в этом случае? Ключами являются только целые числа с автоматическим увеличением.
Похоже, вам будет лучше использовать карту. Проверьте: http://docs.oracle.com/javase/6/docs/api/java/util/Map.html – Porkbutts
Вы можете сделать это, просто используя обычный массив, но я согласен, что карта - гораздо лучший подход , – sage88