У меня есть один вопрос. Что происходит, когда я пытаюсь добавить «один и тот же» объект дважды в ArrayList. Под «тем же самым» я подразумеваю объект отдельного класса, который идентифицируется как одинаковый с помощью equals () и hashCode (). Он имеет разные значения для большинства переменных-членов и был создан, возможно, из разных потоков, но для equals () и hashCode () это "то же самое".
Затем второй объект заменяет первый объект?
Кроме того, что произойдет, если два потока попытаются одновременно добавить эти объекты в ArrayList? Это вообще возможно? Если да, что происходит?
Спасибо! :-)
[EDIT] Спасибо за все ответы! Должен ли я использовать synchronizedList, а не использовать "synchronize (list) {}"? -> Я прочитал документы, даже с synchronizedList, для итерации синхронизации (список) должны быть использованы
[EDIT2]
Может ли synchronizedList быть объявлен как переменная-член? Я пытался, но это не сработало.