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