Vector
был модифицирован для реализации List
в Java 1.2, когда был представлен API коллекций, который включает в себя ArrayList
. Так что у него есть как методы старого стиля, такие как elementAt()
, так и методы нового стиля, такие как get()
, которые во многом похожи на рабочие.
Старые методы отсутствуют в List
или ArrayList
, поэтому, если вы выполняете поиск и замену и используете старые методы, он не сможет скомпилироваться. Впрочем, достаточно легко найти и исправить их. То же самое для iterator()
/ Iterator
, заменяющего Enumeration
и подобных.
Vector
операции были синхронизированы; если программа полагается на это для корректности, она может потерпеть неудачу, если ее заменить на ArrayList
, а это не так. Оберните Collections.synchronizedList()
, если вам нужно старое поведение. Это источник более тонких ошибок.