Хочу узнать в чём глобальная разница между ArrayList и Vector. Я поискал и нашёл только информацию о том,что вектор синхронизирован ( с чем?). Я не очень понял. Также не понимаю чем принципиальная разница List от ArrayList. Буду рад вашим пояснениям
Vector в отличии от ArrayList потокобезопасен, то есть все интерфейсные методы помечены модификатором synchronized, получается что с ним может работать только один поток, поскольку на весь вектор один единственный монитор.Это сказывается на производительности, поэтому рекомендуется работать с ArrayList, которым можешь управлять в потоках как твоей душе угодно, в отличии от Vector.
List это интерфейс который и реализует Vector и ArrayList
List - это абстрактный тип данных. ArrayList - конкретная реализация этого типа на базе массива. Vector - это коллекция из древних времён Java, сохранённая в стандартной библиотеке для того, чтобы старый код мог работать на новых JVM.
Этот вопрос уже много раз задавался на Stackoverflow, и есть множество статей в Интернете на эту тему, но лучше всего это объясняется в любом учебнике.
Кроме синхронизации и степени древности Vector и ArrayList отличаются также размером увеличения подкапотного массива. В ArrayList массив увеличивается в 1,5 раза. В Vector в 2.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей